djangoインタラクティブモード使用テンプレートレポート:django.core.exceptions.ImproperlyConfigured
(dj_01)milo@py:~/.virtualenvs/dj_01/mysite$ pwd
/home/milo/.virtualenvs/dj_01/mysite
(dj_01)milo@py:~/.virtualenvs/dj_01/mysite$ python
>>> from django import template
>>> t = template.Template('My name is {{ name }}.')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/milo/.virtualenvs/dj_01/lib/python2.6/site-packages/django/template/base.py", line 123, in __init__
if settings.TEMPLATE_DEBUG and origin is None:
File "/home/milo/.virtualenvs/dj_01/lib/python2.6/site-packages/django/conf/__init__.py", line 52, in __getattr__
self._setup(name)
File "/home/milo/.virtualenvs/dj_01/lib/python2.6/site-packages/django/conf/__init__.py", line 45, 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.
解決方法:方法1:
(dj_01)milo@py:~/.virtualenvs/dj_01/mysite$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' # mysite 。
>>> from django import template
>>> t = template.Template('My name is {{ name }}.')
>>> c = template.Context({'name':'Adrian'})
>>> print t.render(c)
My name is Adrian.
>>> c = template.Context({'name':'Fred'})
>>> print t.render(c)
My name is Fred.
方法2:(dj_01)milo@py:~/.virtualenvs/dj_01/mysite$ python manage.py shell
>>> from django import template
>>> t = template.Template('My name is {{ name }}.')
>>> c = template.Context({'name':'Adrian'})
>>> print t.render(c)
My name is Adrian.
>>> c = template.Context({'name':'Fred'})
>>> print t.render(c)
My name is Fred.