2015-09-20 3 views
1

В Торнадо Я хочу использовать базовые settings.py файл, что импорт prod_settings.py и local_settings.py.Определить тот же вариант дважды в Торнадо

Таким образом, опции в этих модулях могут повторять друг друга. Например, DEBUG=False в prod_settings и DEBUG=True в local_settings.

Но у меня есть ошибка

tornado.options.Error: Option 'DEBUG' already defined. 

Как я понимаю, я не могу определить два раза один и тот же вариант.

Почему? Как это сделать?

Спасибо!

ответ

1

Вы не можете определить опцию более одного раза. Вы можете установить переменную DEFAULT_DEBUG в prod_settings.py и local_settings.py, а затем использовать это по умолчанию, когда вы вызываете define('DEBUG', default=DEFAULT_DEBUG) в settings.py.

Но этот вопрос предполагает, что вы собираетесь поступать неправильно. В tornado.options, предполагаемый шаблон должен определить параметры один раз в вашем коде, а затем значения поступают от за пределами кода через командную строку (или конфигурационный файл, но командная строка более идиоматична). Таким образом, у вас не будет условного импорта local_settings.py или prod_settings.py, но вместо этого у вас есть run-local.sh и run-prod.sh, чтобы передать соответствующие флаги.

Смежные вопросы