Как я могу просмотреть мою HTML-страницу в Python, используя Django - PullRequest
0 голосов
/ 10 ноября 2019

Я новичок в создании проектов на Python с использованием Django.

Я создаю веб-сайт на Python с использованием фреймворка Django. Я создал функцию " index " в файле " views.py ", чтобы отобразить файл " index.html ", присутствующий в "* 1009папка * templates . Ниже приведен код для файла " views.py ".

from django.http import HttpResponse
from django.shortcuts import render


# Create your views here.
def index(request):
    return render(request,"index.html",{})

Я также добавил навигацию для страницы " index ". Ниже приведен код для файла " urls.py ".

from django.contrib import admin
from django.urls import path

from gallery import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index,name="index")
]

Ниже приведен код раздела шаблонов в файле settings.py .

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates'),], #path to templates folder in local system.
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

Но когда я пытаюсь открыть URL-адрес страницы " index ", я не могу просмотреть страницу.

Снимок экрана ошибки для справки

enter image description here

Структура папки для справки: -

Gallery_Website
|--gallery
  |_ __init__.py
  |_ admin.py
  |_ apps.py
  |_ models.py
  |_ tests.py
  |_ views.py
|--Gallery_Website
  |_ __init__.py
  |_ settings.py
  |_ urls.py
  |_ wsgi.py
|--templates
  |_ index.html
|--db.sqlite3
|--manage.py

Что может быть не так при определении навигациидля "индексной" страницы?

Дайте мне знать, требуется ли какая-либо другая информация.

Ответы [ 2 ]

0 голосов
/ 10 ноября 2019

Вы должны удалить 'index/' в urls.py

Правильный код:

urlpatterns = [
     path('admin/', admin.site.urls),
     path('', views.index,name="index")
]
0 голосов
/ 10 ноября 2019
In your settings.py file, add a value to you template dictionary key -- DIRS=[]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates'),],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

then create a folder "templates" where "manage.py" file resides. And in that templates folder, create a file "index.html". Then you will be a able to see your html page.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...