使用django.template时出错

时间:2013-08-06 13:17:38

标签: django django-models django-templates

我是django的初学者,在使用django的模板模块时遇到了很多错误。 以下是python shell的作用:

from django import template
t = template.Template('My name is {{ name }}.')

当我使用此代码时,我收到以下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/django/template/base.py", line 123, in __init__
 if settings.TEMPLATE_DEBUG and origin is None:
File "/usr/lib/python2.7/site-packages/django/conf/__init__.py", line 53, in __getattr__
self._setup(name)
File "/usr/lib/python2.7/site-packages/django/conf/__init__.py", line 46, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting TEMPLATE_DEBUG,but        
settings are not configured. You must either define the environment variable 
DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

任何人都对这个错误有所了解?

6 个答案:

答案 0 :(得分:16)

您无法从python shell访问和运行django项目。 Django不知道你想要做什么项目。

你必须做以下事情之一:

1. python manage.py shell
2. Set DJANGO_SETTINGS_MODULE environment variable in your OS to mysite.settings
3. Use setup_environ in the python interpreter:
   from django.core.management import setup_environ
   from mysite import settings
   setup_environ(settings)

第一个是最简单和最好的方法。在django shell中运行你的代码。

答案 1 :(得分:15)

如果你想使用没有django shell的模板系统,你可以这样做:

from django.conf import settings
settings.configure()

然后你的代码

t = template.Template('My name is {{ name }}.')

答案 2 :(得分:1)

我也有同样的问题。

主要的一点是,在django第2册中,这段代码不允许用户放入从python.exe启动的Python IDLE(可能在Windows上的C:\ Program Files \ Python33中)。 / p>

相反,它只是展示了这段代码的样子。解决方案只需运行'cmd'并将目录更改为'mysite',然后运行

  

python manage.py shell

确保使用'mysite.settings.py'。

答案 3 :(得分:1)

当然,@ Sudipta的答案是正确的,但(仅为将来)的解释,你也可以访问&#34; Creating Template Objects&#34; - &GT; &#34; A special Python prompt&#34; Django book

中的部分

答案 4 :(得分:0)

要解决此问题,您需要在python manage.py shell而不是python中运行它。

原因:嗯,Django的许多部分都依赖于设置,但是在知道要使用哪个设置文件之前,您无法使用它们。当您在python manage.py shell上运行时,Django知道要使用哪个设置文件并为您完成工作。

答案 5 :(得分:0)

错误消息指出您需要设置DJANGO_SETTINGS_MODULE变量。 运行export DJANGO_SETTINGS_MODULE=mysite.settings对我有用。