`
angellin0
  • 浏览: 115430 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

解决django ImportError: Settings cannot be imported错误

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


出现原因:
      在命令行下使用python命令进入交互模式的,Template(str)在构照模板的时候依赖django.conf.settings.这个变量,但是在当前的环境中没有这个变量, 这时,它就会抛出异常了

解决方法1:手动须导入settings
>>> from django.conf import settings
>>> settings.configure()


解决方法2: 使用python manager.py shell运行
C:\Users\Angellin\mysite>python manager.py shell

python manager.py shell的时候djano会去查找settings.py,这个文件包含了这个Django实例的所有配置选项
打开这个文件我们可以看到这样的配置
# List of callables that know how to import
templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

这个是django提供的模板加载器

在目录%PYTHON_HOME%/Lib/site-packages/django/template/loaders下找到这两个文件filesystem.py app_directories.py,这两个文件中都导入from django.conf import settings

最后,在使用django的模板时,应该使用python manager.py shell来进入交互模式,这样可以避免很多不必要的麻烦
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics