`
dtr1988
  • 浏览: 44037 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ImportError: Settings cannot be imported, because environment variable

阅读更多
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.


出现这个错误问题的原因正如错误报告所写:无法导入 Settings, DJANGO_SETTINGS_MODULE 环境变量没有定义。有以下几种解决方法:

1). 最简单的解决办法是在项目或app当前目录下,进入python命令界面时,使用python manager.py shell 代替 python。因为Django manager.py 会使用模板加载器自动查找当前目录下的settings.py 信息,加载器文件中包含from django.conf import settings导入所需的django settings配置,就不会出错了:

$ python manage.py shell
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django import template
>>> t = template.Template('My name is {{ name }}.')
>>>
2). 若使用>>> python命令,则通过自己从正确的包中导入settings并手动配置也可以:

$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from django import template
>>> from django.conf import settings
>>> settings.configure()
>>> t = template.Template('My name is {{ name }}.')
>>>
即在使用Django的template模板前,先执行 from django.conf import settings 和 settings.configure()。

3). 手动添加当前项目或app的 DJANGO_SETTINGS_MODULE 环境变量.(假设project名称为mysite):

必须先在Linux命令行将项目路径(上一级路径)添加到PYTHONPATH 中: $ export PYTHONPATH="$PYTHONPATH:/path/to/mysite/" 和 $ export PYTHONPATH="$PYTHONPATH:/path/to/"。 在python 命令界面可以使用import sys 和 sys.path.append('/path/to/mysite/')实现,

再设置DJANGO_SETTINGS_MODULE 环境变量:$ export DJANGO_SETTINGS_MODULE=mysite.settings

环境变量下次系统重启会自动重置,因此可以在配置文件~/.profile中加入上面两句export,在登录时自动设置DJANGO_SETTINGS_MODULE环境变量。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics