Django 动态 url 重定向到 404
Posted
技术标签:
【中文标题】Django 动态 url 重定向到 404【英文标题】:Django dynamic url redirecting to 404 【发布时间】:2021-11-21 04:38:43 【问题描述】:我正在尝试创建一个动态 URL 模式,其中将一个 ID 传递到 URL 并使用从数据库中检索一条信息。 这是模式的定义:
urlpatterns = [
path('',views.index,name='index'),
path('<int:question_id/>', views.detail,name='detail'),
path('<int:question_id>/results/',views.results,name='results'),
path('<int:question_id>/vote/',views.vote,name='vote')
]
这是用于检索信息的代码:
def detail(request, question_id):
question = get_object_or_404(Questions, pk = question_id)
return render(request, 'polls/detail.html', 'question': question)
无论在 url 中传递什么 id,用户似乎都被重定向到 404 页面。
这是我的 index.html:
<!DOCTYPE html>
<html lang="en">
<!-- head -->
<body>
% if latest_question_list %
<ul>
% for question in latest_question_list %
<li><a href="/polls/question.id/"> question.qtext </a></li>
% endfor %
</ul>
% else %
<p>No polls are available.</p>
% endif %
</body>
</html>
【问题讨论】:
你能显示index.html
文件吗?错误在那里
【参考方案1】:
您可以像这样在 HTML 文档中提供您的 URL:
<a href="% url 'detail' question_id=1 %">Get Detail</a>
【讨论】:
以上是关于Django 动态 url 重定向到 404的主要内容,如果未能解决你的问题,请参考以下文章
如果在 django 的 urls.py 中找不到,则将任何 url 重定向到 404.html