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

Django入门教程第4部分访问polls/1/及根路径报404错误如何解决

根路径404问题解决

你当前项目根URL配置仅注册了polls/和admin/两个路径前缀,空路径没有匹配规则,属于正常现象:

  • 直接访问 http://127.0.0.1:8000/polls/ 即可进入投票应用首页
  • 如需根路径自动跳转到投票应用,可在项目根urls.py中添加重定向规则即可

/polls/1/ 404问题解决

该报错由get_object_or_404方法抛出,说明你的数据库中不存在主键为1的Question记录,按以下步骤修复:

  1. 确认已完成数据库迁移,执行命令:
python manage.py makemigrations
python manage.py migrate
  1. 创建测试问题数据:
    你可以通过admin后台创建,也可以执行python manage.py shell进入交互环境执行以下代码:
from polls.models import Question, Choice
from django.utils import timezone
# 创建测试问题
q = Question(question_text="测试问题:你最喜欢的编程语言是?", pub_date=timezone.now())
q.save()
# 为问题添加三个选项
q.choice_set.create(choice_text="Python", votes=0)
q.choice_set.create(choice_text="Java", votes=0)
q.choice_set.create(choice_text="Go", votes=0)
# 输出问题主键ID
print("创建的问题ID为:", q.id)
  1. 访问 http://127.0.0.1:8000/polls/[上一步输出的ID]/ 即可正常打开页面

模板语法错误提前修复

你所有模板文件的Django标签语法都存在错误,Django模板标签需要用{%和%}包裹,你当前只写了{和},后续会触发模板渲染错误,需要全局修正:
所有模板中的标签按如下规则替换:

  • { url ... } → {% url ... %}
  • { csrf_token } → {% csrf_token %}
  • { if ... } → {% if ... %}、{ endif } → {% endif %}
  • { for ... } → {% for ... %}、{ endfor } → {% endfor %}

三个模板中的所有对应标签都要修改,否则页面访问会报错。

内容的提问来源于stack exchange,提问作者Mampenda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 11:06:02