Django: Виды и URL настроены, но страницы не найдены (ошибка 404) - отображается только /admin
Я столкнулся с проблемой в своем проекте Django. Я настроил представления и URL для нескольких страниц, таких как 'landing', 'chat', 'impressum', 'sales', 'team' и 'user'. Однако, когда я пытаюсь зайти на эти страницы в браузере, я получаю ошибку 404, указывающую на то, что страницы не могут быть найдены. Вот соответствующий код, который я реализовал:
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.landing, name='landing'),
path('chat/', views.chat, name='chat'),
path('impressum/', views.impressum, name='impressum'),
path('sales/', views.sales, name='sales'),
path('team/', views.team, name='team'),
path('user/', views.user, name='user'),
]
# views.py
from django.shortcuts import render
def landing(request):
return render(request, 'landing.html')
def chat(request):
return render(request, 'chat.html')
def impressum(request):
return render(request, 'impressum.html')
def sales(request):
return render(request, 'sales.html')
def team(request):
return render(request, 'team.html')
def user(request):
return render(request, 'user.html')
# settings.py
import os
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'teacherassistant/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',
],
},
},
]
Несмотря на правильное определение URL и представлений, я не могу отобразить соответствующие HTML-шаблоны для каждой страницы так, как нужно. Похоже, что есть проблема с тем, как Django обрабатывает маршрутизацию.
Имя вашего приложения, по-видимому, teacherassistant
. Сначала убедитесь, что оно включено в список INSTALLED_APPS в вашем settings.py
.
Затем откройте файл urls.py, который автоматически создается в директории вашего проекта
django_teacherassistant\urls.py
и введите следующий код:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('teacherassistant.urls')),
]
Затем в директории вашего приложения, то есть teacherassistant
, создайте файл app urls.py и введите следующий код:
from django.urls import path
from . import views
app_name = 'teacherassistant'
urlpatterns = [
path('', views.landing, name='landing'),
path('chat/', views.chat, name='chat'),
path('impressum/', views.impressum, name='impressum'),
path('sales/', views.sales, name='sales'),
path('team/', views.team, name='team'),
path('user/', views.user, name='user'),
]
Примечание: вы должны создать файл urls.py вашего приложения, но файл urls.py проекта будет создан для вас автоматически. Пожалуйста, не путайте эти два файла! См. Путь URL-адресов Django.