Разница между сайтом администратора Wagtail и сайтом администратора Django?

Это может быть простой вопрос, но он меня озадачивает, и я не мог найти ответ в Интернете. В моем админке Wagtail я вижу пункт меню "Сайты" с (в моем случае) одним элементом, в котором я могу настроить имя хоста, порт, имя сайта, корневую страницу Wagtail и логическое значение "сайт по умолчанию". Когда я вхожу в django-admin (очевидно, для того же проекта), я вижу пункт меню "Сайты" с одним элементом и только двумя полями: имя домена, отображаемое имя. Изменение его у одного админа, похоже, ничего не меняет у другого. Например, мне нужно было изменить имя домена (по умолчанию в Django 'example.com'), но я не смог найти это в админке Wagtail.

Связаны ли они каким-то образом, и если да, то почему я не вижу одинаковые поля у обоих администраторов? Я упускаю что-то очевидное?

1 ответ

Решение

Хотя и у Wagtail, и у Django есть рамочный подход к Site, на самом деле это разные вещи с разными моделями баз данных и разными способами использования.

Сайт Django

  • Открытый способ представления нескольких сайтов в приложении Django и часть моделей contrib, поставляемых с Django.
  • Wagtail не использует фреймворк сайтов Django из коробки, но некоторые другие приложения Django используют.
  • Документы - https://docs.djangoproject.com/en/3.0/ref/contrib/sites/

Сайт трясогузки

  • Более конкретная модель, построенная для представления сайтов Wagtail, она не наследует и не использует фреймворк Django Sites.
  • Пример - трясогузка Page модель связана с одним Site только, это сайт трясогузки, но Image не имеет отношения к Site и, следовательно, их можно легко использовать на нескольких сайтах.
  • Документы - https://docs.wagtail.io/en/latest/reference/pages/model_reference.html

Версия 2.9 Изменение

  • Чтобы избежать избыточных запросов к базе данных и потенциальных конфликтов с платформой Django Sites, Wagtail изменил способ SiteMiddleware был использован.
  • Вы можете увидеть полный контекст этого и возможные причины ошибок и путаницы по этой проблеме Github - https://github.com/wagtail/wagtail/issues/2840
Другие вопросы по тегам