我刚刚为django安装了平面页面应用,并试图从管理员创建一个平面页面。
所以在我在admin中创建一个页面之后,在网站上有一个选项视图,当我点击它时,我找不到页面
我缺少什么?当我将我的名字设置为/ pages / overview /时,我仍然找不到页面
答案 0 :(得分:1)
您已使用前缀^pages/
配置页面网址,这意味着您需要将该前缀添加到请求网址中。例如,对于您已配置为/help/overview/
的页面,您可以从http://localhost:8000/pages/help/overview/
访问它。
您需要使用/pages/
前缀请求所有网页网址,或使用documentation中描述的其他方法之一:
您也可以将其设置为“catchall”模式。在这种情况下,将模式放在其他urlpatterns的末尾非常重要:
from django.contrib.flatpages import views # Your other patterns here urlpatterns += [ url(r'^(?P<url>.*/)$', views.flatpage), ]
另一种常见设置是对一组有限的已知页面使用平面页面并对网址进行硬编码,因此您可以使用网址模板标记来引用它们:
urlpatterns += [ url(r'^about-us/$', views.flatpage, {'url': '/about-us/'}, name='about'), url(r'^license/$', views.flatpage, {'url': '/license/'}, name='license'), ]
最后,您还可以使用FlatPageFallbackMiddleware
。