2010-08-08 6 views
0

Я пытаюсь импортировать from django.http import HttpResponse, но я получаю следующее исключение:импорта

ImportError: Settings cannot be imported, because environment variable 
DJANGO_SETTINGS_MODULE is undefined. 

Может кто-нибудь мне помочь, пожалуйста?

Заранее спасибо

ответ

2

Django использует переменную среды с именем DJANGO_SETTINGS_MODULE, чтобы выяснить, где глобальный конфигурационный файл. DJANGO_SETTINGS_MODULE должен ссылаться на модуль Python, который содержит ваши параметры конфигурации, и этот модуль должен находиться на пути Python. Если вы не хотите использовать глобальный модуль конфигурации по какой-либо причине, вы должны вызвать settings.configure от django.conf перед использованием любого кода Django, который использует параметры:

from django.conf import settings 

settings.configure(DEBUG=True, TEMPLATE_DEBUG=True, 
        TEMPLATE_DIRS=('/home/web-apps/myapp', 
         '/home/web-apps/base')) 

Более подробную информацию можно найти in the Django docs.

4

Если вы хотите использовать Django из сценария (скажем) Python, вам необходимо установить модуль настроек, как вы сказали.

Другой способ сделать, состоит в следующем:

#!/usr/bin/python 
from django.core.management import setup_environ 
import os 
import settings 

os.environ['DJANGO_SETTINGS_MODULE'] = "mysite.settings" # or just "settings" if it's on the same directory as settings.py 

from mysite.myapp.models import * # import models, etc, only *after* setting up the settings module 

setup_environ(settings) 

# insert your code here, say saving an entry 

c = MyClass() 
c.text = "Hello!" 
c.save() 
Смежные вопросы