Django: 视图和URLs已配置,但页面未找到(404错误) - 仅显示/admin
我在做Django项目的时候遇到了一些问题。我为几个页面设置了视图和网址,比如“首页”、“聊天”、“法律声明”、“销售”、“团队”和“用户”。但是,当我在浏览器里访问这些页面时,却出现了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',
],
},
},
]
尽管我已经正确地定义了网址和视图,但我还是无法像预期那样显示每个页面的HTML模板。看起来Django在处理网址路由的时候出了点问题。
1 个回答
0
你的应用名称似乎是 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
,创建一个 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 文件是自动为你生成的。请不要搞混这两个文件!详细信息请查看 Django URLs 路径。