Python Django - что делает os.environ.setdefault ('DJANGO_SETTINGS_MODULE', 'folder.settings')? - PullRequest
0 голосов
/ 14 мая 2018

Сейчас я посещаю онлайн-урок Джанго, и я не понимаю некоторые коды конфигурации. Мой инструктор говорит, что следующий код необходим в коде python, который заполняет мою базу данных.

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ProTwo.settings')

import django
django.setup()

Я вообще не понимаю, что делают эти коды, за исключением того, что второй аргумент в setdefault() относится к файлу settings.py моего приложения.

Что такое DJANGO_SETTINGS_MODULE? Что оно делает? Почему он передается как аргумент в setdefault()?

А что делает django.setup()? Что это меняет?

Пожалуйста, поймите, что я новичок и не понимаю многих жаргонов.

Ответы [ 2 ]

0 голосов
/ 23 августа 2018

Вызов django.setup () необходим для «автономного» использования Django¶ Если вы используете компоненты Django «автономно» - например, пишете скрипт Python, который загружает некоторые шаблоны Django и отображает их, или используете ORM для извлечения некоторых данных - вам потребуется еще один шаг в дополнение к настройке параметров .

После того, как вы установили DJANGO_SETTINGS_MODULE или вызвали configure (), вам нужно вызвать django.setup (), чтобы загрузить ваши настройки и заполнить реестр приложений Django.

0 голосов
/ 23 августа 2018

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

В этих случаях вы можете настроить параметры Django вручную,

https://docs.djangoproject.com/en/2.1/topics/settings/

...