Какая переменная указывает на среду в Джанго? - PullRequest
2 голосов
/ 05 августа 2009

В Rails есть переменная окружения RAILS_ENV, которая сообщает вам, в какой среде вы находитесь. Кроме создания моей собственной переменной окружения, есть ли переменная по умолчанию, которая сообщает вам, в какой среде вы находитесь в Django?

Ответы [ 3 ]

2 голосов
/ 05 августа 2009

Часто многое меняется между "средами".

У нас есть отдельные файлы настроек для каждой среды.

Каждый файл для конкретной среды начинается с

from settings import *

Чтобы ввести настройки по умолчанию для приложения в целом.

Имеется settings_dev, settings_checkout, settings_qa, settings_prod и т. Д.

2 голосов
/ 06 августа 2009

Как сказал mipadi, нет такой "официальной" переменной, как у Rails. Там нет ничего, чтобы помешать вам создать свой собственный, хотя. Вы можете использовать метод, предложенный С. Лоттом, чтобы разделить ваши настройки на отдельные файлы, и внутри каждого из них есть строка вроде:

DJANGO_ENV = 'Production'

Тогда вы можете легко получить к нему доступ в любом месте:

from django.conf import settings
if settings.DJANGO_ENV == 'Production':
    print "I'm in production!"
2 голосов
/ 05 августа 2009

Django не имеет такого же понятия «окружение», как «производство», «разработка» и «тестирование» в Rails. Самая близкая вещь - это переменная DEBUG (установите файл settings.py вашего проекта Django), которая должна быть True для разработки и False для производства. За пределами settings.py вы можете получить его с помощью:

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