问题描述
我的 urls.py
文件如下:
urlpatterns = [
path('',TemplateView.as_view(template_name='homepage.html'),name='home'),path('admin/',admin.site.urls),path('cms/',include(wagtailadmin_urls)),path('documents/',include(wagtaildocs_urls)),path('info/',include(wagtail_urls)),]
它是 Wagtail 与现有 Django 的全新集成。因此,我在 wagtail 管理门户上只有 1 个站点,这是默认的 localhost:80
,其中 ROOT PAGE
指向默认根页面 Welcome to Wagtail
。
下面的屏幕截图显示 ROOT PAGE 有 slug = home
。
我可以按照 domain.com/info
中的设置通过 urls.py
成功访问根页面。但是我得到了 404 Page not found
和 domain.com/info/home
的 domain.com/home
。在我看来,slug
对于 ROOT Page 完全没有用。
以上测试让我想知道 slug
设置是否是 ROOT PAGE 的装饰品?
解决方法
在 Wagtail 的根页面上 slug 的目的是什么。网站的根是 /
。忽略根页面的 slug 字段。
slug 是自动填充的,不会造成任何伤害。
在 Wagtail 页面树中的任何页面都可以选择作为 Site.root_page
。这在多站点设置中很方便。一个站点的子页面可能是另一个站点的 root_page/homepage。那么 slug 在一个站点上没有目的,但确实在另一个站点上有目的。