Django: 视图和URLs已配置,但页面未找到(404错误) - 仅显示/admin

0 投票
1 回答
47 浏览
提问于 2025-04-13 19:44

我在做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 路径

撰写回答