Django ImportError: Settings cannot be imported
使用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相关推荐
- django的settings中几个static设置项的关系
2019独角兽企业重金招聘Python工程师标准>>> django的settings中包含三个static相关设置项: STATIC_ROOT STATIC_URL STATICF ...
- 【Django】settings
作者: Django 团队 译者: weizhong2004@gmail.com 翻译开始日期: 2006-04-04 翻译完成日期: 2006-04-04 修订日期: 2006-05-06 原文版本 ...
- python官网如何调中文-django的settings中设置中文支持的实现
今天创建了个django工程,用的是目前django 1.9.6,创建工程后,settings.py中设置中文显示支持(最简单的,例如把admin界面的默认英文改成中文),定义 TIME_ZONE = ...
- django mysql settings
settings : DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAM ...
- Django在settings.py设置安装软件路径,遇到 'Settings' object is not subscriptable报错
1.由于在搞一个导出pdf的功能时,需要指定下面的一个配置,代码如下: config = pdfkit.configuration(wkhtmltopdf='D:\\SoftWare\\wkhtmlt ...
- 【django】settings.py配置文件内容详细介绍
配置文件如下,下面对配置文件进行一一解释 """ Django settings for film1_manager project.Generated by 'djan ...
- django的settings配置详解
1.介绍 BASE_DIR 默认值:os.path.dirname(os.path.dirname(os.path.abspath(__file__))). 这个是Django项目文件夹所在目录得绝 ...
- django中settings中文解释
APP_DIRS 是否在App里面查找文件 BACKEND 定义模板引擎,用于识别模板里面的变量和指令,内置的模板有Django Templates和jinja2.Jinja2 DIRS 设置模板所在 ...
- django: ImportError: cannot import name ‘render_to_response‘ 解决方法
方法一 安装指定版本的 Django 版本(3.0以下),如: pip3 install django==2.3.3 方法二 使用 render 代替 render_to_response. 相同点: ...
- 【转】Nginx+uWSGI 部署 Django 应用
原文来自: http://www.oschina.net/question/54100_30386 http://obmem.info/?p=703 常见的django webapp 部署方式采用FC ...
最新文章
- python实现找零钱_找零钱的最优步骤 探究(python)
- 前端构建工具gulpjs的使用介绍及技巧 (转)
- 正负相关 最大信息系数mic_求二项展开式中二项式系数最大项、系数最大项的问题...
- Visual Studio——理解多字节编码与Unicode码
- django 通过数据库表名获取app名
- Algorithm Master Road:算法的时间/空间复杂度
- 页面间传输中文的乱码解决方法
- linux中统计java数量,linux 统计当前目录下文件数
- Android控件Gallery3D效果 .
- python中调用函数no module named 'utilities'_python错误:No module named setuptools 解决方法...
- 《人人都可以创业》连载1:创业很简单,从心开始
- SEO:搜索引擎优化的35个技巧
- HDU 1257 最少拦截系统 简单DP
- lenovo G480 安装无线驱动 linux
- Error: Duplicate resources
- [转]小总结一下矩阵的对角化
- 【Vue系列】Vue3.0知识点汇总整理
- npm--踩坑--npm audit fix 解决方法
- oppor17刷鸿蒙系统,coloros11正式版下载
- 流媒体视频服务:快速搭建一个简单的流媒体视频服务(一)