Префикс Wagtail для пользовательской модели страницы - PullRequest
0 голосов
/ 27 января 2019

Этот вопрос, вероятно, тривиален, но я не вижу простого решения.

У меня есть пользовательская модель страницы, представляющая сообщение:

класс PostPage (Page):

Я бы хотел, чтобы все экземпляры этой модели (все сообщения) были доступны только с префиксом url

/ posts /

Пример:

Пользователь создает новое сообщение, назначенный слаг будет

awesome-first-post

Что должно произойти, это

/ awesome-first-post /

приведет к 404, тогда как

/ posts / awesome-first-post /

отобразит сообщение.

Примечание. Я хочу использовать этот префикс только для конкретной модели Postpage.Остальные страницы должны обслуживаться непосредственно из их слагов.

1 Ответ

0 голосов
/ 27 января 2019

В Wagtail URL-адреса страниц формируются из списка слагов родительской и родительской страниц страницы на основе положения страницы в дереве - разработчик не указывает их напрямую. Итак, чтобы получить URL /posts/awesome-first-post/, создайте страницу со слагом posts (обычно вы создаете выделенную модель страницы PostIndexPage, которая будет служить страницей списка), и создайте страницу awesome-first-post как дочернюю. этого (нажав значок «+» рядом со страницей «Сообщения» в представлении списка проводника).

Если вы хотите, чтобы пользователи когда-либо создавали PostPage s как дочерние элементы PostIndexPage, используйте параметр subpage_types / parent_page_types , например:

class PostPage(Page):
    # ...
    parent_page_types = ['PostIndexPage']
...