Django 在/archive中找不到页面/
编辑:算出了,请看底部。 我正在Django中编写一个简单的博客应用程序,并使用guide在本地部署它。我已经完成了指南,所有内容都是名义上的,所以我决定扩展该功能以查看博客文章的存档。这就是索引目前的工作方式,但我想将其移动到/archive/。我又去看了一次教程来刷新我的记忆,它说我必须做三件事:Django 在/archive中找不到页面/,django,Django,编辑:算出了,请看底部。 我正在Django中编写一个简单的博客应用程序,并使用guide在本地部署它。我已经完成了指南,所有内容都是名义上的,所以我决定扩展该功能以查看博客文章的存档。这就是索引目前的工作方式,但我想将其移动到/archive/。我又去看了一次教程来刷新我的记忆,它说我必须做三件事: 在url.py中写入根URLconf 在views.py中编写view函数 为视图编写模板 我对URLconf进行了如下编辑: urlpatterns = patterns('', #ot
urlpatterns = patterns('',
#other patterns
url(r'^archive/', 'RehabLog.views.archive'),
)
我编辑了my views.py以添加此功能:
def archive(request):
posts = Post.objects.filter(published=True)
return render(request, 'RehabLog/archive.html', {'posts':posts})
我把一切都保存了下来,重新启动了foreman。当我加载页面时,我得到一个404错误,它告诉我没有与给定查询匹配的帖子。我错过了什么
回答
我记得读过你的URLConfs的顺序很重要
以前我有:
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'RehabLog.views.index'),
url(r'^(?P<slug>[\w\-]+)/$', 'RehabLog.views.post'),
url(r'^archive/', 'RehabLog.views.archive'),
)
urlpatterns=patterns(“”,
url(r“^admin/”,包括(admin.site.url)),
url(r'^$','RehabLog.views.index'),
url(r'^(?P[\w\-]+)/$,'RehabLog.views.post'),
url(r“^archive/”、“RehabLog.views.archive”),
)
而现在我有:
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^archive/', 'RehabLog.views.archive'),
url(r'^$', 'RehabLog.views.index'),
url(r'^(?P<slug>[\w\-]+)/$', 'RehabLog.views.post'),
)
urlpatterns=patterns(“”,
url(r“^admin/”,包括(admin.site.url)),
url(r“^archive/”、“RehabLog.views.archive”),
url(r'^$','RehabLog.views.index'),
url(r'^(?P[\w\-]+)/$,'RehabLog.views.post'),
)
现在可以了。有人能解释一下原因吗?
/archive/
URL首先与URL(r'^(?p[\w-]+)/$,'RehabLog.views.post')
匹配,所以您的实际规则URL(r'^archive/,'RehabLog.views.archive')
从未达到。当您更改订单时,第一条匹配的规则是正确的。请提供完整的错误堆栈跟踪。您可以提供完整的错误日志。@matino我找到了。请看上面。你应该把你的答案作为答案贴出来。或者删除这个问题。@vikingosegundo我在10岁以下不能这么做。它告诉我编辑这个问题或者把它贴在评论下面。