Джанго: Администратор с несколькими сайтами и языками

StackOverflow https://stackoverflow.com/questions/2755087

Вопрос

Я должен построить несколько приложений Django, которые позволяют вам управлять несколькими сайтами через один бэкэнд. А contrib.sites Структура идеально подходит для моих целей. Я могу запустить несколько экземпляров manage.py с разными настройками для каждого сайта; Но как администратор Джанго должен иметь дело с различными настройками для разных сайтов, например. Если у них разные наборы языков, другой (по умолчанию) язык? Таким образом, есть некоторые проблемы, с которыми нужно столкнуться, если вам придется работать над объектами, поступающими с разных сайтов в одном администраторе ...

Я думаю settings.ADMIN_FOR Предполагается, что для таких случаев будет довольно полезен, но вряд ли есть документация, и я думаю, что это на самом деле не используется в реальной версии Django (?).

Таким образом, любые идеи/решения приветствуются и очень ценятся! Большое спасибо...

Это было полезно?

Решение

Есть старый Пост в блоге Джеймса Беннет что может быть полезно:

  1. Создайте новый объект сайта в вашем администраторе для каждого домена и поместите идентификатор этого сайта в файл настроек как site_id, чтобы Django знал, какой сайт в базе данных соответствует этому файлу настроек.
  2. В файле «Настройки» для вашего исходного сайта (который с идентификатором 1) добавьте файлы настройки других сайтов в настройку admin_for, чтобы Джанго знал, что этот один экземпляр приложения администратора будет обрабатывать все сайты.

Как документированный admin_for (для которого я не могу публиковать ссылку) должен быть кортежом модулей настроек, очень похожих на instaled_apps, является кортежей модулей приложений Django.

Обратите внимание, что пост в блоге от 2006 года, поэтому он использует немного устаревшего API.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top