Django投票教程访问/polls/路径出现404错误求助
Django投票教程/polls/ 404错误排查方案
以下是针对你遇到的/polls/路径404问题的排查步骤,按优先级尝试:
1. 确认项目目录结构是否符合标准
你的项目必须遵循Django默认的嵌套结构,确保polls应用位于根项目目录(和manage.py同级),而非嵌套在mysite/mysite子目录下:
mysite/ manage.py # 必须在此目录启动服务器 mysite/ settings.py urls.py ... polls/ __init__.py # 该文件必须存在,否则Django无法识别为合法应用 urls.py views.py apps.py ...
若polls目录位置错误,会直接导致路由无法匹配。
2. 确保从正确目录启动开发服务器
打开终端,切换到包含manage.py的根mysite目录,再执行启动命令:
python manage.py runserver
如果在子mysite目录(即settings.py所在目录)启动服务器,Django将无法正确加载polls应用的路由配置。
3. 完善Polls应用的配置
打开polls/apps.py,确认内容如下:
from django.apps import AppConfig class PollsConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'polls'
然后将INSTALLED_APPS中的'polls'替换为完整的应用配置路径:
INSTALLED_APPS = [ # ... 其他默认应用 'polls.apps.PollsConfig', ]
虽然直接写'polls'在多数场景下有效,但显式指定配置类可避免潜在的应用识别问题。
4. 验证URL路由是否正确注册
安装django-extensions工具来查看所有已注册的URL:
pip install django-extensions
在settings.py的INSTALLED_APPS中添加'django_extensions',然后执行:
python manage.py show_urls
检查输出中是否存在/polls/条目,若不存在则说明路由未被正确加载,需回到前几步检查应用结构和配置。
5. 排除浏览器缓存干扰
使用无痕模式打开浏览器,重新访问http://localhost:8000/polls/,避免旧缓存导致的错误响应。
内容的提问来源于stack exchange,提问作者deane
相关产品推荐
相关产品推荐

