在管理模型中设置平面页面

Setting flat pages in admin model

我刚刚为 django 安装了平面页面应用程序并尝试从 admin 创建平面页面。

因此,在我在管理中创建页面后,网站上有一个选项视图,当我单击它时,我发现找不到页面

我错过了什么?当我将我的名字设置为 /pages/overview/ 时,我仍然找不到页面

您已经为页面 URL 配置了前缀 ^pages/,这意味着您需要将该前缀添加到您的请求 URL。例如,对于您配置为 /help/overview/ 的页面,您可以从 http://localhost:8000/pages/help/overview/.

访问它

您需要使用 /pages/ 前缀请求所有页面 URL,或者使用 documentation:

中描述的其他方法之一

You can also set it up as a “catchall” pattern. In this case, it is important to place the pattern at the end of the other urlpatterns:

from django.contrib.flatpages import views

# Your other patterns here
urlpatterns += [
    url(r'^(?P<url>.*/)$', views.flatpage),
]

Another common setup is to use flat pages for a limited set of known pages and to hard code the urls, so you can reference them with the url template tag:

urlpatterns += [
    url(r'^about-us/$', views.flatpage, {'url': '/about-us/'}, name='about'),
    url(r'^license/$', views.flatpage, {'url': '/license/'}, name='license'),
]

最后你也可以使用FlatPageFallbackMiddleware.