- 浏览: 247994 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (127)
- vim (3)
- python (44)
- pymysql (1)
- mysql (9)
- macvim (1)
- erlang (3)
- twisted (0)
- tornado (5)
- django (7)
- postgresql (5)
- sql (1)
- java (7)
- tech (4)
- cache (1)
- lifestyle (3)
- html (1)
- ubuntu (2)
- rabbitmq (1)
- algorithm (8)
- Linux (4)
- Pythonista (1)
- thread (1)
- sort (6)
- 设计模式 (1)
- search (1)
- Unix (6)
- Socket (3)
- C (2)
- web (1)
- gc (1)
- php (10)
- macos (1)
最新评论
-
2057:
这个程序有bug。
查找算法学习之二分查找(Python版本)——BinarySearch -
dotjar:
NB
一个Python程序员的进化[转]
转:http://www.iyouf.info/fixed-django-settings-error.html
今天在练习django的模板引擎的时候出了这么一个错误
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
root@ubuntu:~# python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from django.template import Template
>>> t = Template("my name is {{name}}")
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.6/dist-packages/django/template/__init__.py", line 156, in __init__
if settings.TEMPLATE_DEBUG and origin is None:
File "/usr/local/lib/python2.6/dist-packages/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 38, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
这是因为我在命令行下使用python命令进入交互模式的,Template(str)在构照模板的时候依赖django.conf.settings.这个变量,但是在当前的环境中没有这个变量,这时,它就会抛出异常了
办法就是 要想使用django的模板你必须导入settings
>>> from django.conf import settings
>>> settings.configure()
你在运行t = Template("my name is {{name}}") 就不会出错了
还有一种方法就是使用python manager.py shell运行
root@ubuntu:/home/python/cms# python manage.py shell
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.template import Template,Context
>>> t=Template('my name is {{name}}')
>>> c=Context({'name':'dengmin'})
>>> t.render(c)
u'my name is dengmin'
>>>
这是因为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提供的模板加载器
在目录/usr/local/lib/python2.6/dist-packages/django/template/loaders下找到这两个文件
filesystem.py app_directories.py,这两个文件中都导入from django.conf import settings
最后,在使用django的模板时,应该使用python manager.py shell来进入交互模式,这样可以避免很多不必要的麻烦
今天在练习django的模板引擎的时候出了这么一个错误
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
root@ubuntu:~# python
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from django.template import Template
>>> t = Template("my name is {{name}}")
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.6/dist-packages/django/template/__init__.py", line 156, in __init__
if settings.TEMPLATE_DEBUG and origin is None:
File "/usr/local/lib/python2.6/dist-packages/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 38, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
这是因为我在命令行下使用python命令进入交互模式的,Template(str)在构照模板的时候依赖django.conf.settings.这个变量,但是在当前的环境中没有这个变量,这时,它就会抛出异常了
办法就是 要想使用django的模板你必须导入settings
>>> from django.conf import settings
>>> settings.configure()
你在运行t = Template("my name is {{name}}") 就不会出错了
还有一种方法就是使用python manager.py shell运行
root@ubuntu:/home/python/cms# python manage.py shell
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.template import Template,Context
>>> t=Template('my name is {{name}}')
>>> c=Context({'name':'dengmin'})
>>> t.render(c)
u'my name is dengmin'
>>>
这是因为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提供的模板加载器
在目录/usr/local/lib/python2.6/dist-packages/django/template/loaders下找到这两个文件
filesystem.py app_directories.py,这两个文件中都导入from django.conf import settings
最后,在使用django的模板时,应该使用python manager.py shell来进入交互模式,这样可以避免很多不必要的麻烦
发表评论
-
macos 10.9.2 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command
2014-03-25 19:13 1769方法总是有的,当然需要你去寻找。 当然如果花费太多的时间在一件 ... -
PostgreSQL psycopg2:IndexError: tuple index out of range
2014-01-09 17:04 2234Postgresql psycopg2使用like查询的时候 ... -
Python 迭代器和生成器
2013-10-15 23:09 2854迭代器 迭代器只不过是一个实现迭代器协议的容器对象。它基于两个 ... -
Python时间模块
2013-10-15 23:03 3478time模块 时间模块中最常用的一个函数就是获取当前时间的函数 ... -
Python装饰器
2013-10-15 22:59 1572编写自定义装饰器有许多方法,但最简单和最容易理解的方法是编写一 ... -
python list
2013-10-15 22:56 1260简单总结以及整理如下: >>> dir( ... -
Python Excel
2013-09-10 17:21 979安装lib easy_install xlrd def ... -
排序算法学习(python版本)之堆排序(HeapSort)
2013-07-01 22:54 2004Contains: 堆排序以及堆排序的应用 堆排序(Heaps ... -
python range xrange
2013-06-25 23:30 1157引用Help on built-in function ran ... -
python class
2013-06-25 00:54 1832引用类是创建新对象类 ... -
AttributeError: 'module' object has no attribute 'SendCloud'
2013-06-05 11:46 7092网上查了下 意思是说你命名的文件名不能和lib重名,这样会导 ... -
python string
2013-05-07 23:44 2201如果这就是字符串,这本来就是字符串 首先看下字符串的方法 ... -
Python property
2013-03-29 19:56 0由于之前有总结过,可以参考http://2057.iteye. ... -
python tips
2013-03-28 23:57 8891、enum #!/usr/bin/env python ... -
python decorators
2013-03-28 23:36 1371Contains: 1、decorators 2、funct ... -
python closures
2013-03-28 22:09 1195Closure:如果在一个内部函数里,对在外部作用域(但不是在 ... -
Python map、filter,reduce介绍
2013-03-28 22:02 13191、filter(function,iterable) 引用C ... -
Python __new__ 、__init__、 __call__
2013-03-26 23:49 5358Contains: __new__: 创建对象时调用,返回当 ... -
Python socket简介
2013-03-25 23:42 2181自豪地使用dir和help. Python 2.7.2 ( ... -
Tornado ioloop源码简析
2013-03-21 00:18 2856#!/usr/bin/env python #-*-en ...
相关推荐
在Python和Django框架的开发过程中,可能会遇到各种错误,其中"ImportError:无法从'django.utils.encoding'导入名称'force text'"是一个常见的问题。这个错误意味着你的代码尝试从'django.utils.encoding'模块导入...
Chapter 23: Documentation: Be Obsessed Chapter 24: Finding and Reducing Bottlenecks Chapter 25: Security Best Practices Chapter 26: Logging: What's It For, Anyway? Chapter 27: Signals: Use Cases and ...
- 在settings.py中配置模板路径,让Django能找到模板文件。 - 视图函数使用`render`方法,将数据传递给模板,生成HTML响应。 通过以上介绍,我们可以看到Django提供了一个完整的Web开发框架,简化了开发流程,...
给大家分享一套课程——Django+Vue:Python Web全栈开发(基于Django4.1),已完结10章,附源码。
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myorm.settings') try: from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( "Couldn't import...
django:Django框架详解,Django的优缺点.zip django:Django框架详解,Django的优缺点.zip django:Django框架详解,Django的优缺点.zip django:Django框架详解,Django的优缺点.zip django:Django框架详解,...
**Django教程:基本操作笔记整理** Django是一款高级的Python Web框架,它鼓励快速开发和清洁、实用的设计。这个教程将带你深入了解Django的基本操作,包括安装、项目创建、应用构建、数据库交互以及视图和模板的...
Django:Django高级特性:RESTful API开发.docx
Django:Django错误处理与调试技巧.docx
为了解决这个问题,一个名为`django-settings-export`的第三方库被开发出来,它提供了一种安全且灵活的方式来从模板中访问Django设置。 `django-settings-export`的主要功能是将特定的settings变量导出到模板中,...
在本项目中,"基于django+redis开发的前后端分离demo"是一个小规模的示例,旨在帮助初学者理解如何使用Python的Django框架与Redis数据库实现前后端分离的Web应用开发。以下将详细讲解该项目涉及的主要知识点: 1. ...
跟apache整合后的django settings.py
Chapter 1: Introduction to the Django Framework Chapter 2: Django Urls and Views Chapter 3: Django Templates Chapter 4: Jinja Templates in Django Chapter 5: Django Application Management Chapter 6: ...
django-settings-view-as-json 是一个可通过 URL 查看 Django 设置的插件。 示例: 标签:django 分享 window._bd_share_config = { ...
12. 错误处理与调试:学习如何处理常见的Django错误,使用调试工具进行问题定位。 通过学习以上知识点,并结合提供的源码,你不仅可以掌握Django的使用,还能了解到教务信息管理系统的实际应用架构,为将来开发类似...
Python Django Web典型模块开发实战中,跨域问题的解决是一个重要的环节。跨域问题通常发生在Web应用程序中,当一个域下的资源尝试访问另一个域的资源时,浏览器出于安全考虑会阻止这种请求,这就是所谓的“同源策略...
正在进行大量工作,但是读取标准DJANGO_SETTINGS_MODULE环境变量(默认为pydantic_settings.settings.PydanticSettings)以加载pydantic_settings.Settings的子类。所有设置(已在pydantic_settings.Settings中定义...
《Django最佳实践》(Two Scoops of Django 1.11)是一本专注于最新发布的Django框架1.11版本的最佳实践指南。这本书之所以成为Django开发者必须读的资料,是因为它不仅深入剖析了Django的内部机制,而且还提供了...
为了解决这个问题,"django-settings-custom-1.0.9"库应运而生,它提供了一种更加灵活的方式来管理和组织Django项目的设置。 "django-settings-custom-1.0.9"库是专门为Django定制的设置模块,旨在提高代码的可维护...