Когда необходимо использовать django-admin.py вирус manage.py?

Фон:

Когда я работаю django-admin.py loaddata example.json Я получаю эту ошибку. "ImportError: Настройки не могут быть импортированы, потому что переменная среды DJANGO_SETTINGS_MODULE не определена". Я понимаю проблему. Этому нужен DJANGO_SETTINGS_MODULE, чтобы смочь получить доступ к базе данных, чтобы сделать этот импорт. У меня была эта проблема прежде, и я управлял к шагу стороны ею к настоящему времени.

В чтении документов я обнаружил что manage.py обертка для django-admin.py; это ставит проект sys.path и наборы DJANGO_SETTINGS_MODULE среда. Woot! Стоп! Я знаю, как решить мою проблему.

Soo... Почему примеры кода документации Django используют django-admin.py вместо manage.py при демонстрации подкоманд такой как loaddata и dumpdata?

17
задан citadelgrad 10 July 2010 в 18:11
поделиться

2 ответа

Если у вас DJANGO_SETTINGS_MODULE переменная среды задана, вы можете использовать django-admin.py из любого рабочего каталога, тогда как вам нужно быть в каталоге проекта, чтобы использовать ./manage.py (или иметь его в своем пути).

Используйте virtualenv, и DJANGO_SETTINGS_MODULE задано bin/activate, а затем вы можете использовать django-admin.py

20
ответ дан 30 November 2019 в 12:57
поделиться

Почему примеры кода документации Django используют django-admin.py вместо manage.py при демонстрации таких подкоманд, как loaddata и dumpdata?

Ну, потому что эти сценарии одинаковы по принципу , с уже упомянутыми вами отличиями. Документы Django также упоминают

django-admin.py <subcommand> [options]
manage.py <subcommand> [options]

бок о бок. Обычно вы используете django-admin.py , чтобы начать новый проект или приложение, и manage.py , чтобы сделать все остальное.

7
ответ дан 30 November 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: