2012-12-13 36 views
0

我已經創建了一個項目示例和應用程序sampapp在Windows XP上雖然我試圖使用命令sqlall,我收到以下錯誤。Django導入錯誤說django設置環境變量是undefined

C:\Python27\Django-1.3.1\django\bin>django-admin.py sqlall sampapp

Traceback (most recent call last): File 
"C:\Python27\Django-1.3.1\django\bin\django-admin.py", line 5, in 
<module > management.execute_from_command_line() File 
"C:\Python27\lib\site-packages\django\core\management\__init__.py", 
line 429, in execute_from_command_line utility.execute() File 
"C:\Python27\lib\site-packages\django\core\management\__init__.py", 
line 379, in execute 
self.fetch_command(subcommand).run_from_argv(self.argv) File 
"C:\Python27\lib\site-packages\django\core\management\__init__.py", 
line 261, in fetch_command klass = load_command_class(app_name, 
subcommand) File 
"C:\Python27\lib\site-packages\django\core\management\__init__.py", 
line 67, in load_command_class module = 
import_module('%s.management.commands.%s' % (app_name, name)) File 
"C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in 
im port_module __import__(name) File 
"C:\Python27\lib\site-packages\django\core\management\commands\sqlall.py" 
, line 4, in <module> from django.core.management.sql import sql_all 
File "C:\Python27\lib\site-packages\django\core\management\sql.py", 
line 6, in <module> from django.db import models File 
"C:\Python27\lib\site-packages\django\db\__init__.py", line 14, in 
<modul e> if not settings.DATABASES: File 
"C:\Python27\lib\site-packages\django\utils\functional.py", line 276, 
in __getattr__ self._setup() File 
"C:\Python27\lib\site-packages\django\conf\__init__.py", line 40, in 
_set up raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE) 
ImportError: Settings cannot be imported, because environment variable 
DJANGO_SE TTINGS_MODULE is undefined. 

有人能幫我解決這個問題?

+0

http://stackoverflow.com/questions/7479493/d​​jango-settings-module-是undefined ..看看這裏 –

+0

感謝鏈接Raunak。但如果我試圖使用shell解釋上述鏈接,我得到了同樣的錯誤。我沒有得到我錯在哪裏。 Plz看到以下錯誤。 ------------------ C:\ Python27 \ Django-1.3.1 \ django \ bin> django-admin.py shell 錯誤:無法導入設置,因爲環境變量DJANGO_SETTINGS _MODULE未定義。 – swathi

回答

0

應指定DJANGO_SETTINGS_MODULE, 我通常這行添加到我的.bashrc文件:

出口PYTHONPATH =。 DJANGO_SETTINGS_MODULE = yoursettingsfile

2

導航到您的項目目錄並在那裏運行本地manage.py。

C:\...\my_project_where_sampapp_lives\> python manage.py sqlall sampapp 

您使用 'django-admin.py' 時,你應該使用 '蟒蛇manage.py'

$ django-admin.py shell 
Error: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined. 
$ python manage.py shell 
... 
>>> print "now it works" 
+0

我沒有明白清楚..你能更清楚地解釋我。謝謝你 – swathi

+0

你在某個地方創建了一個項目,對吧?將命令提示符導航到您創建項目的位置。然後,從該目錄運行「python manage.py sqlall sampapp」。 – Ted

+0

不,我很確定我已經在確切的路徑中創建了項目。 – swathi

0

Django-admin.py正在尋找您的項目settings.py文件,它無法定位,從而引發ImportError。好像你在使用django-admin.py命令時沒有導航到你的項目目錄。

您只需導航到您的項目目錄即可。喜歡的東西:

(假設你的項目名稱是我的項目)

cd myproject 

,然後運行

django-admin.py sqlall sampapp 
+0

但是django-admin.py不在項目文件夾中的bin文件夾中。它如何識別命令。 – swathi

+0

如果將python添加到環境變量 - > PATH中,則應該識別django-admin.py。試着從項目目錄中運行它。 – Amyth