Django无法识别自定义URL,无法进入newyear应用求助
Django URL配置问题求助
项目结构
test\ 项目级文件 + templates newyear\ 应用文件 + templates manage.py
newyear应用urls.py代码
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index') ]
newyear应用views.py代码
from django.shortcuts import render import datetime # Create your views here. def index(request): now = datetime.datetime.now() return render(request, 'newyear/index.html', { "newyear": now.month == 1 and now.day == 1 })
项目test的urls.py代码
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('newyear/', include('newyear.urls')), path('admin/', admin.site.urls), ]
项目test的settings.py中INSTALLED_APPS配置
INSTALLED_APPS = [ 'newyear', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
已重启服务器,但仅/admin路径可被识别,请求排查解决。
排查解决步骤:
- 确认模板路径正确性
检查newyear/templates/newyear/index.html是否存在,路径和文件名大小写要与代码中完全匹配(类Unix系统下Django区分大小写)。 - 检查服务器启动目录
必须在包含manage.py的根目录下执行python manage.py runserver,若进入test目录启动服务器,会导致路由匹配异常。 - 验证访问路径
直接访问http://localhost:8000/newyear/(注意末尾斜杠,项目级路由配置的是newyear/),避免因自动重定向失败导致的404。 - 查看服务器日志
启动服务器后,观察终端的请求日志,访问newyear路径时,日志会输出具体错误信息(如404的详细原因),帮助定位问题。 - 确认应用路由是否加载
在newyear的urls.py中临时添加打印语句:
重启服务器后查看终端是否输出该内容,验证路由文件是否被正确加载。print("newyear urls loaded") - 检查ROOT_URLCONF配置
确认test/settings.py中的ROOT_URLCONF设置为test.urls,这是默认配置,若被修改会导致路由失效:ROOT_URLCONF = 'test.urls'
内容的提问来源于stack exchange,提问作者baguette
相关产品推荐
相关产品推荐

