Вопросы начинающих о трясогузке (в сравнении с Django) - PullRequest
0 голосов
/ 20 июня 2020

Я начинаю изучать трясогузку, и многие вещи мне непонятны, и, к сожалению, не нашел достаточного объяснения в документации по трясогузке.

Пожалуйста, помогите и дайте мне несколько ответов, и я чувствую Я на грани того, чтобы отказаться от трясогузки и вернуться к Django.

Вот несколько вопросов новичков, которые у меня есть:

  • Как обрабатывать POST запрос? Я просмотрел несколько руководств на LearnWagtail.com , похоже, что в Wagtail разработка - это создание моделей, нет необходимости устанавливать urls.py или views.py. И мы могли бы создать Routable страниц для ответа на пользовательские шаблоны URL.

    Вопрос : но как ответить на запрос POST, если без определения представления? Я не вижу примеров обработки страницы Routable POST-запросом.

  • Является ли приложение home единственным входом на веб-сайт Wagtail? Из того, что я вижу, приложение home по умолчанию создается Wagtail при создании проекта. И home.HomePage является страницей по умолчанию, когда я открываю веб-сайт на 127.0.0.1:8000.

    Вопрос : поэтому я не могу удалить это приложение home?

  • Как установить urls.py или надо их ставить? Например, типичные настройки urls.py следующие. Насколько я понимаю, wagtail_urls по умолчанию будет указывать на home.HomePage.

    Вопрос : Значит, в Wagtail нам не нужно устанавливать какие-либо шаблоны URL? Чтобы обеспечить подкласс Page классы, все страницы будут обслуживаться wagtail_urls по умолчанию?

urlpatterns = [
    url(r'^django-admin/', admin.site.urls),

    url(r'^admin/', include(wagtailadmin_urls)),
    url(r'^documents/', include(wagtaildocs_urls)),

    url(r'^search/$', search_views.search, name='search'),

]

urlpatterns = urlpatterns + [
    # For anything not caught by a more specific rule above, hand over to
    # Wagtail's page serving mechanism. This should be the last pattern in
    # the list:
    url(r"", include(wagtail_urls)),
]
  • В чем смысл родительской страницы и дочерняя страница? В Wagtail родительская и дочерняя страницы - это две концепции, которые мне трудно понять. Например, есть даже 2 атрибута (parent_page_types, subpage_types), которые мы можем установить для каждого типа страницы, детали в do c.

    Вопрос : какие нам нужны родительские или дочерние концепции для страниц? Это категории страниц?

1 Ответ

2 голосов
/ 21 июня 2020

Надеюсь, приведенные ниже ответы несколько помогут. Я думаю, что вам было бы полезно почитать более подробно официальную документацию Wagtail . Learn Wagtail - отличный ресурс, я сам использовал некоторые из их сообщений, но он не охватит все, что вы, возможно, захотите сделать с Wagtail.

Некоторые хорошие отправные точки для документации Wagtail:

1. Как обрабатывать POST-запрос?

  • Вы можете выполнять любую произвольную обработку обслуживания страниц (включая обработку POST-запросов), переопределив метод serve на своей странице.
  • Документы: https://docs.wagtail.io/en/stable/reference/pages/model_recipes.html#overriding -the-serve-method
  • Примечание: если вы хотите выполнить более сложную обработку маршрута, где самой структуры страницы недостаточно, вы можете найти RoutablePageMixin полезно. Однако в большинстве случаев это не требуется.

2. Является ли домашнее приложение единственным входом на веб-сайт Wagtail?

  • Нет, место, где вы храните свои модели Page, зависит от вас на 100%, вы можете хранить все в одном приложении или оставить приложение "страницы" или любая структура, имеющая смысл для вашего проекта.
  • Примечание: перенос моделей между приложениями может быть непростым, поэтому будьте осторожны и исследуйте, перемещаете ли вы модели между приложениями, когда они уже существуют. данные.
  • Документы: https://docs.djangoproject.com/en/3.0/ref/applications/

3. Как установить urls.py или мы должны их установить?

4. В чем смысл родительской и дочерней страниц?

  • Страницы Wagtail следуют древовидной структуре, родительская и дочерняя концепции являются ключевыми для того, как работает интерфейс маршрутизации и редактирования URL-адресов Wagtail.
  • Прочтите введение в деревья для небольшого обзора высокого уровня.
  • subpage_types - это атрибут модели Page, позволяющий вам контролировать, что страницы могут быть созданы ПОД страницей.
  • parent_page_types - это атрибут модели Page, позволяющий вам контролировать, какие страницы могут быть созданы НАД страницей.
  • Причина, по которой существуют элементы управления для каждого «направления», заключается в том, что это дает разработчику полную свободу создавать структурированные иерархии страниц. Я лично считаю, что использование subpage_types только в моих проектах помогает упростить задачу.
  • Если вы хотите погрузиться глубже, вы можете прочитать о библиотеке django-treebeard, которая лежит в основе древовидной структуры. которую использует трясогузка.

5. Если home.HomePage - это точка входа на веб-сайт, почему HomePage.slug является URL-адресом по умолчанию

  • Это сделано намеренно, иначе какова будет «запись» вашего веб-сайта.
  • Я понимаю, что это может сбивать с толку, но для "root" вашего сайта есть смысл go куда-то, что вы настроили, это ваша домашняя страница.
...