新创建的Django url没有警告。我不明白为什么这些新网址不起作用。我创建了视图和模板,然后将它们添加到我的url中,得到以下错误
Request Method: GET
Request URL: http://localhost:8000/posts/dcma/
Raised by: posts.views.post_detail
我不明白为什么邮政局的细节会引起问题。在
这是我的帖子/网址
^{pr2}$我的观点
def display_hay(request):
all_results = SearchQuerySet().all()
template = "posts/display_hay.html"
context = {
"all_results": all_results,
}
return render(request, template, context)
def submit_video(request):
template = "posts/submit_video.html"
context = {
}
return render(request, template, context)
def privacy(request):
template = "posts/privacy.html"
context = {
}
return render(request, template, context)
def terms(request):
template = "posts/terms.html"
context = {
}
return render(request, template, context)
def dcma(request):
template = "posts/dcma.html"
context = {
}
return render(request, template, context)
如何更正语法?欢迎一切指导
Django按照定义的顺序尝试url,并使用第一个匹配项。在本例中,您有以下URL:
后一个url中的任何一个也由
post_detail
视图的url模式匹配。然后,post_detail
视图尝试查找与slug匹配的post,但找不到,并引发一个Http404
。当第一个匹配的视图引发错误时,不会调用其他模式的视图。在要解决这个问题,您可以做两件事之一。要么更改
post_detail
的url模式,使其与其他模式不冲突,要么将最后四个模式上移到post_detail
模式之上。在后一种情况下,不能使用任何冲突的url作为post的slug。在我想出来了。我不知道为什么被否决了。但是问题是由url的顺序引起的,所以不是这样
是这个
^{pr2}$相关问题 更多 >
编程相关推荐