0

我刚刚为 django 安装了平面页面应用程序,并尝试从 admin 创建平面页面。 在此处输入图像描述

因此,在我在管理员中创建页面后,站点上有一个选项视图,当我单击它时,我得到页面未找到

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

在此处输入图像描述

4

1 回答 1

1

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

您要么需要使用/pages/前缀请求所有页面 URL,要么使用文档中描述的其他方法之一:

您也可以将其设置为“笼统”模式。在这种情况下,将模式放在其他 urlpatterns 的末尾很重要:

from django.contrib.flatpages import views

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

另一个常见的设置是对有限的一组已知页面使用平面页面并对 url 进行硬编码,因此您可以使用 url 模板标签引用它们:

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

最后,您还可以使用FlatPageFallbackMiddleware.

于 2016-07-17T14:21:01.323 回答