使用Django时在命令行中敲击Python命令进入交互模式,如果直接如下操作:
from django.template import  Template ,Context
t  = Template(”Test is {{test}}”)
会导致:
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
原因是django的配置信息没有初始化。解决方法有两种:
(1)切换到Project或者APP所在的目录使用manage.py shell(或者python manage.py shell)命令启动交互窗口;
(2)手动将django的配置初始化:
from django.conf import settings
settings.configure()
原理:
如果你曾经使用过Python,你一定好奇,为什么我们运行python manage.py shell而不是python。这两个命令都会启动交互解释器,但是manage.py shell命令有一个重要的不同: 在启动解释器之前,它告诉Django使用哪个设置文件。 Django框架的大部分子系统,包括模板系统,都依赖于配置文件;如果Django不知道使用哪个配置文件,这些系统将不能工作。
如果你想知道,这里将向你解释它背后是如何工作的。 Django搜索DJANGO_SETTINGS_MODULE环境变量,它被设置在settings.py中。例如,假设mysite在你的Python搜索路径中,那么DJANGO_SETTINGS_MODULE应该被设置为:’mysite.settings’。1
当你运行命令:python manage.py shell,它将帮你照看DJANGO_SETTINGS_MODULE。 在当前的这些示例中,我们鼓励你使用“ python manage.py shell“这个方法,这样可以免去你大费周章地去配置那些你不熟悉的环境变量。
随着你越来越熟悉Django,你可能会偏向于废弃使用“ manage.py shell“ ,而是在你的配置文件.bash_profile中手动添加 DJANGO_SETTINGS_MODULE这个环境变量。
如果你曾经使用过Python,你一定好奇,为什么我们运行python manage.py shell而不是python。这两个命令都会启动交互解释器,但是manage.py shell命令有一个重要的不同: 在启动解释器之前,它告诉Django使用哪个设置文件。 Django框架的大部分子系统,包括模板系统,都依赖于配置文件;如果Django不知道使用哪个配置文件,这些系统将不能工作。
如果你想知道,这里将向你解释它背后是如何工作的。 Django搜索DJANGO_SETTINGS_MODULE环境变量,它被设置在settings.py中。例如,假设mysite在你的Python搜索路径中,那么DJANGO_SETTINGS_MODULE应该被设置为:’mysite.settings’。1
当你运行命令:python manage.py shell,它将帮你照看DJANGO_SETTINGS_MODULE。 在当前的这些示例中,我们鼓励你使用“ python manage.py shell“这个方法,这样可以免去你大费周章地去配置那些你不熟悉的环境变量。
随着你越来越熟悉Django,你可能会偏向于废弃使用“ manage.py shell“ ,而是在你的配置文件.bash_profile中手动添加 DJANGO_SETTINGS_MODULE这个环境变量。

使用Django时在命令行中敲击Python命令进入交互模式,如果直接如下操作:from django.template import  Template ,Contextt  = Template(”Test is {{test}}”)
会导致:
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
原因是django的配置信息没有初始化。解决方法有两种:(1)切换到Project或者APP所在的目录使用manage.py shell(或者python manage.py shell)命令启动交互窗口;(2)手动将django的配置初始化:from django.conf import settingssettings.configure()

原理:

如果你曾经使用过Python,你一定好奇,为什么我们运行python manage.py shell而不是python。这两个命令都会启动交互解释器,但是manage.py shell命令有一个重要的不同: 在启动解释器之前,它告诉Django使用哪个设置文件。 Django框架的大部分子系统,包括模板系统,都依赖于配置文件;如果Django不知道使用哪个配置文件,这些系统将不能工作。如果你想知道,这里将向你解释它背后是如何工作的。 Django搜索DJANGO_SETTINGS_MODULE环境变量,它被设置在settings.py中。例如,假设mysite在你的Python搜索路径中,那么DJANGO_SETTINGS_MODULE应该被设置为:’mysite.settings’。1当你运行命令:python manage.py shell,它将帮你照看DJANGO_SETTINGS_MODULE。 在当前的这些示例中,我们鼓励你使用“ python manage.py shell“这个方法,这样可以免去你大费周章地去配置那些你不熟悉的环境变量。随着你越来越熟悉Django,你可能会偏向于废弃使用“ manage.py shell“ ,而是在你的配置文件.bash_profile中手动添加 DJANGO_SETTINGS_MODULE这个环境变量。如果你曾经使用过Python,你一定好奇,为什么我们运行python manage.py shell而不是python。这两个命令都会启动交互解释器,但是manage.py shell命令有一个重要的不同: 在启动解释器之前,它告诉Django使用哪个设置文件。 Django框架的大部分子系统,包括模板系统,都依赖于配置文件;如果Django不知道使用哪个配置文件,这些系统将不能工作。如果你想知道,这里将向你解释它背后是如何工作的。 Django搜索DJANGO_SETTINGS_MODULE环境变量,它被设置在settings.py中。例如,假设mysite在你的Python搜索路径中,那么DJANGO_SETTINGS_MODULE应该被设置为:’mysite.settings’。1当你运行命令:python manage.py shell,它将帮你照看DJANGO_SETTINGS_MODULE。 在当前的这些示例中,我们鼓励你使用“ python manage.py shell“这个方法,这样可以免去你大费周章地去配置那些你不熟悉的环境变量。随着你越来越熟悉Django,你可能会偏向于废弃使用“ manage.py shell“ ,而是在你的配置文件.bash_profile中手动添加 DJANGO_SETTINGS_MODULE这个环境变量。

转载于:https://www.cnblogs.com/Phenix_Yang/archive/2010/06/07/1753134.html

Django ImportError: Settings cannot be imported相关推荐

  1. django的settings中几个static设置项的关系

    2019独角兽企业重金招聘Python工程师标准>>> django的settings中包含三个static相关设置项: STATIC_ROOT STATIC_URL STATICF ...

  2. 【Django】settings

    作者: Django 团队 译者: weizhong2004@gmail.com 翻译开始日期: 2006-04-04 翻译完成日期: 2006-04-04 修订日期: 2006-05-06 原文版本 ...

  3. python官网如何调中文-django的settings中设置中文支持的实现

    今天创建了个django工程,用的是目前django 1.9.6,创建工程后,settings.py中设置中文显示支持(最简单的,例如把admin界面的默认英文改成中文),定义 TIME_ZONE = ...

  4. django mysql settings

    settings : DATABASES = {     'default': {         'ENGINE': 'django.db.backends.mysql',         'NAM ...

  5. Django在settings.py设置安装软件路径,遇到 'Settings' object is not subscriptable报错

    1.由于在搞一个导出pdf的功能时,需要指定下面的一个配置,代码如下: config = pdfkit.configuration(wkhtmltopdf='D:\\SoftWare\\wkhtmlt ...

  6. 【django】settings.py配置文件内容详细介绍

    配置文件如下,下面对配置文件进行一一解释 """ Django settings for film1_manager project.Generated by 'djan ...

  7. django的settings配置详解

    1.介绍 BASE_DIR  默认值:os.path.dirname(os.path.dirname(os.path.abspath(__file__))). 这个是Django项目文件夹所在目录得绝 ...

  8. django中settings中文解释

    APP_DIRS 是否在App里面查找文件 BACKEND 定义模板引擎,用于识别模板里面的变量和指令,内置的模板有Django Templates和jinja2.Jinja2 DIRS 设置模板所在 ...

  9. django: ImportError: cannot import name ‘render_to_response‘ 解决方法

    方法一 安装指定版本的 Django 版本(3.0以下),如: pip3 install django==2.3.3 方法二 使用 render 代替 render_to_response. 相同点: ...

  10. 【转】Nginx+uWSGI 部署 Django 应用

    原文来自: http://www.oschina.net/question/54100_30386 http://obmem.info/?p=703 常见的django webapp 部署方式采用FC ...

最新文章

  1. python实现找零钱_找零钱的最优步骤 探究(python)
  2. 前端构建工具gulpjs的使用介绍及技巧 (转)
  3. 正负相关 最大信息系数mic_求二项展开式中二项式系数最大项、系数最大项的问题...
  4. Visual Studio——理解多字节编码与Unicode码
  5. django 通过数据库表名获取app名
  6. Algorithm Master Road:算法的时间/空间复杂度
  7. 页面间传输中文的乱码解决方法
  8. linux中统计java数量,linux 统计当前目录下文件数
  9. Android控件Gallery3D效果 .
  10. python中调用函数no module named 'utilities'_python错误:No module named setuptools 解决方法...
  11. 《人人都可以创业》连载1:创业很简单,从心开始
  12. SEO:搜索引擎优化的35个技巧
  13. HDU 1257 最少拦截系统 简单DP
  14. lenovo G480 安装无线驱动 linux
  15. Error: Duplicate resources
  16. [转]小总结一下矩阵的对角化
  17. 【Vue系列】Vue3.0知识点汇总整理
  18. npm--踩坑--npm audit fix 解决方法
  19. oppor17刷鸿蒙系统,coloros11正式版下载
  20. 流媒体视频服务:快速搭建一个简单的流媒体视频服务(一)

热门文章

  1. Linux学习笔记一:vmware安装Ubuntu虚拟机并进行联网设置
  2. Python内置函数之-struct
  3. 数据挖掘导论学习---1
  4. 英语笔记-some words about description of girl
  5. Linux ssh 不需要输入密码的方法
  6. 任正非“2012实验室”讲话全文曝光
  7. Oracle之触发器
  8. mybatis3文档
  9. 顺序链表的C风格实现
  10. 猜数字游戏的提示 (Master-Mind Hints, UVa 340)