django urlpatterns命令

时间:2012-03-29 23:17:23

标签: python django

我在加载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。

1 个答案:

答案 0 :(得分:3)

问题是您没有正确安装flatpages application。 Django的flatpages应用程序依赖于拦截404请求的middleware。因此,您无需将django.contrib.flatpages.urls添加到urls.py

您收到该错误是因为您使用的正则表达式('')与所有网址匹配。因此,网址模式从未达到^admin/'