Лучший способ записать данные начальных настроек для пользовательской CMS в Django - PullRequest
0 голосов
/ 06 февраля 2011

Я пишу свою собственную CMS и имею ситуацию, когда некоторая информация о начальных настройках должна быть записана в базу данных.Мне не нравится идея написать какой-нибудь файл XML / Json с данными о приборах, который будет импортирован при запуске syncdb.

Я думаю о том, что могу создать какой-нибудь файл cms_init.py изапустите его до manage.py syncdb.В этом файле мне нужно настроить среду, а затем с использованием моделей я могу записать свои пользовательские данные в базу данных.

Другой способ - иметь метод на стороне администратора, например, initialize () иURL для этого.Он будет хранить некоторую переменную и никогда не будет работать во второй раз, и в этой функции я просто называю нужные мне модели и все.

Почему я ищу решение, потому что мне нужна динамическая начальная запись данных, котораябудет зависеть от settings.py и от настроек другого модуля каждый раз, и я не хочу перезаписывать исходный файл базы данных каждый раз, когда запускаю новый проект.

Есть идеи?

1 Ответ

2 голосов
/ 06 февраля 2011

Не делайте этого автоматически / неявно, заставьте пользователя делать это явно с помощью команды manage.py, например,

python manage.py your_cms init

При запуске проверки функциональности CMS или, скорее, try-except, если инициализация имеетпроизойдет, и если нет, напомните пользователю сначала выполнить команду init.

Делать это явно безопаснее и не доставлять неудобств пользователю, так как это должно быть сделано только один раз.

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