Как настроить Django для простой разработки и развертывания? - PullRequest
111 голосов
/ 18 сентября 2008

Я склонен использовать SQLite при выполнении Джанго разработки, но на живом сервере что-то более надежное часто требуется (например, MySQL / PostgreSQL ). Неизменно, есть и другие изменения, которые нужно внести в Джанго настройки, а также: различные места регистрации / интенсивность, медиа пути и т. д.

Как вы управляете всеми этими изменениями, чтобы сделать развертывание простой, автоматизированный процесс?

Ответы [ 14 ]

0 голосов
/ 23 февраля 2018

Так много сложных ответов!

Каждый файл settings.py поставляется с:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

Я использую этот каталог для установки переменной DEBUG следующим образом (замените директой, где находится ваш код разработчика):

DEBUG=False
if(BASE_DIR=="/path/to/my/dev/dir"):
    DEBUG = True

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

Каждый раз, когда вам нужны настройки, отличные от настроек в вашей среде разработки, просто используйте:

if(DEBUG):
    #Debug setting
else:
    #Release setting
0 голосов
/ 22 декабря 2016

На самом деле вам, вероятно, следует рассмотреть возможность использования одинаковых (или почти одинаковых) конфигураций для среды разработки и производства. В противном случае, такие ситуации, как «Эй, это работает на моей машине» будут происходить время от времени.

Таким образом, чтобы автоматизировать развертывание и устранить проблемы с WOMM, просто используйте Docker .

0 голосов
/ 14 марта 2012

Я использую среду:

if os.environ.get('WEB_MODE', None) == 'production' :
   from settings_production import *
else :
   from settings_dev import *

Я считаю, что это гораздо лучший подход, потому что в конечном итоге вам понадобятся специальные настройки для вашей тестовой среды, и вы легко можете добавить их к этому условию.

0 голосов
/ 20 сентября 2008

Я думаю, что от размера сайта зависит, нужно ли вам отказаться от использования SQLite. Я успешно использовал SQLite на нескольких небольших живых сайтах, и он отлично работает.

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