Django - разделение настроек prod и dev - удалить исходный settings.py?
Я следую приведенному ниже ответу о разделении файла настроек Django для разработки и производства.
< <Является ли это общепринятой практикой разделения файлов? Я вижу несколько методов в этом посте SO. Также, согласно ответу SO, я должен обновить BASE_DIR в моем файле base.py на .После разделения я удалю исходный файл settings.py?
прямо сейчас это выглядит следующим образом:
settings.py
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Просто хочу подтвердить, потому что эти два варианта настолько разные. thx (Django 2.1.7)
Существует несколько методов, позволяющих иметь разные настройки в разработке и производстве.
Если вы решите следовать методу, на который вы дали ссылку, то да, вы удалите ваш оригинальный файл settings.py
и замените его каталогом settings
, который содержит
base.py
, dev.py
и prod.py
; при этом base.py
содержит общие настройки, а остальные файлы содержат контекстные настройки (независимо от того, находитесь ли вы в разработке или в производстве).
Также, есть ли критическая причина, по которой вы используете Django 2.1.7? Она имеет ряд известных уязвимостей.
Вы можете использовать различные настройки, используя библиотеку dotenv, вы создаете файл .env, откуда берете свои настройки.
Другим решением является наличие файла settings_local.py, откуда вы также берете свои настройки, и настраиваете их в соответствии с вашим окружением.
Edit : Я согласен с первым ответом, утверждающим, что использовать django 2 сегодня - плохая идея, с тех пор многое изменилось, и если вы действительно хотите следовать учебнику, я бы рекомендовал что-то более современное, например, книги William S. Vincent, "Django для начинающих: Создание веб-сайтов с помощью Python и Django", уже есть 4.X книги. Я очень рекомендую его книги для начинающих, поскольку в них используется хороший проектно-ориентированный подход.