自定义页面模型的 Wagtail url 前缀

mat*_*usc 3 django url wagtail

这个问题可能很微不足道,但我看不到一个简单的解决方案。

我有代表帖子的自定义页面模型:

类 PostPage(页):

我想让这个模型的所有实例(所有帖子)只能通过 url 前缀访问

/帖子/

例子:

用户创建新帖子,分配的 slug 将是

很棒的第一篇文章

应该发生的是,

/很棒的第一篇文章/

将导致 404,而

/帖子/很棒的第一篇帖子/

将显示该帖子。

注意:我只希望该前缀适用于特定型号的 Postpage。其他页面应直接从其 slug 提供。

gas*_*man 5

在 Wagtail 中,页面 URL 是根据页面在树中的位置,从页面的父页面和祖先页面的 slugs 列表中形成的 - 开发人员不会直接指定它们。因此,要获取 URL /posts/awesome-first-post/,请使用 slug 创建一个页面posts(通常您会创建一个专用PostIndexPage页面模型来充当列表页面),然后将该页面创建为该页面awesome-first-post的子页面(通过单击下一步的“+”图标)到浏览器列表视图中的帖子页面)。

如果您想确保用户仅将PostPages 创建为 的子级PostIndexPage,请使用subpage_types/parent_page_types设置,例如:

class PostPage(Page):
    # ...
    parent_page_types = ['PostIndexPage']
Run Code Online (Sandbox Code Playgroud)