Django新手遇Current path does not match错误,访问polls应用404
Django路径不匹配404错误排查方案
访问localhost:8000/polls触发「Current path does not match path patterns」错误,优先从URL配置的核心关联环节排查:
1. 检查项目根URLconf的include配置
打开项目根目录的urls.py,确认正确引入polls的URL配置,必须包含如下代码:
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('polls/', include('polls.urls')), # 该行必须存在,且路径为'polls/' ]
注意:include('polls.urls')的字符串需与应用名完全一致,不能拼写错误;path第一个参数末尾的斜杠/不能省略,否则会导致路径匹配失败。
2. 检查polls应用的URLconf配置
打开polls/urls.py,确认基础路径的视图映射符合教程要求,示例代码如下:
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), # 空字符串对应根URL的/polls/路径 ]
若此处写成path('index/', views.index, name='index'),则需访问localhost:8000/polls/index才会匹配,这是新手常见失误。
3. 确认应用已添加到INSTALLED_APPS
打开项目的settings.py,检查INSTALLED_APPS中是否包含'polls':
INSTALLED_APPS = [ 'polls.apps.PollsConfig', # 或直接写'polls' 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
未添加的话,Django无法识别polls应用配置,可能间接引发URL路由异常。
4. 验证服务器运行的是目标项目
查看控制台的服务器启动输出,第一行需包含当前项目的配置信息,示例如下:
Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). July 12, 2024 - 15:30:00 Django version 4.1, using settings 'myproject.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
确认using settings 'myproject.settings'中的项目名为当前操作的项目,而非其他旧项目。
5. 清除浏览器缓存或用无痕模式访问
浏览器缓存的旧路由记录可能导致访问错误路径,用无痕窗口打开localhost:8000/polls尝试。
若以上步骤排查后问题仍存在,可提供截图中的urls.py代码和控制台输出,以便精准定位问题。
内容的提问来源于stack exchange,提问作者GeneticallyAugmentedChair
相关产品推荐
相关产品推荐

