Джанго: Админ с несколькими сайтами и языками - PullRequest
0 голосов
/ 03 мая 2010

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

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

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

1 Ответ

1 голос
/ 03 мая 2010

Есть старая запись в блоге Джеймса Беннета , которая может быть полезна:

  1. Создайте новый объект Site в вашем администраторе для каждого домена и поместитеидентификатор этого сайта в файле настроек как SITE_ID, поэтому Django знает, какой сайт в базе данных соответствует этому файлу настроек.
  2. В файле настроек для вашего исходного сайта (тот, что с идентификатором 1), добавьте другие сайты'файлы настроек в настройке ADMIN_FOR, чтобы Django знал, что этот единственный экземпляр приложения администратора будет обрабатывать все сайты.

Как задокументировано ADMIN_FOR (для которого я не могу опубликовать ссылку) должен быть кортежем модулей настроек, подобно INSTALED_APPS - кортежу модулей приложения django.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...