我在加载django网站的管理部分时遇到以下错误:
No FlatPage matches the given query.
我设法解决了这个问题,但我试图理解为什么它解决了这个问题。在我的urls.py文件中,我移动了网址(r'',include('django.contrib.flatpages.urls')),之后的网址(r'^ admin /',include( admin.site.urls)),瞧,它有效。有人可以简单地解释为什么这会产生相关的差异吗?管理员网址应该始终位于列表的顶部吗?
编码产生错误:
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mysite.views.home', name='home'),
# url(r'^mysite/', include('mysite.foo.urls')),
url (r'^blog/', include('blog.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'', include('django.contrib.flatpages.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
)
这是django 1.4。
答案 0 :(得分:3)
问题是您没有正确安装flatpages application。 Django的flatpages应用程序依赖于拦截404请求的middleware。因此,您无需将django.contrib.flatpages.urls
添加到urls.py
。
您收到该错误是因为您使用的正则表达式(''
)与所有网址匹配。因此,网址模式从未达到^admin/'
。