You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:13:26