django模板报错Requested setting TEMPLATE_DEBUG, but settings are not configured. You must either define
django模板报错Requested setting TEMPLATE_DEBUG, but settings are not configured. You must either define
- django模板报错
- 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.
- 直接python命令启动python交互式解释器,导入django template会报错
- yixiaohan@ubuntu:~/djbk$ pythonPython 2.7.3 (default, Aug 1 2012, 05:16:07)
- [GCC 4.6.3] on linux2Type "help", "copyright", "credits" or "license" for more information.
- >>> from django import template
- >>> t = template.Template('my name is {{ name }}')
- Traceback (most recent call last): File "<stdin>", line 1, in <module>
- File "/usr/local/lib/python2.7/dist-packages/Django-1.5.dev20120922131713-py2.7.egg/django/template/base.py",
- line 123, in __init__ if settings.TEMPLATE_DEBUG and origin is None: File "/usr/local/lib/python2.7/dist-packages/Django-1.5.dev20120922131713-py2.7.egg/django/conf/__init__.py", line 50, in __getattr__ self._setup(name) File "/usr/local/lib/python2.7/dist-packages/Django-1.5.dev20120922131713-py2.7.egg/django/conf/__init__.py", line 43, in _setup % (name, 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.>>>
- 解决方法一:
- 先导入settings
- >>> from django.conf import settings
- >>> settings.configure()
- >>> from django import template
- >>> t = template.Template('My name is {{ name }}.')
- >>> c = template.Context({'name': 'yixiaohan'})
- >>> print t.render(c)
- My name is yixiaohan.
- >>> c = template.Context({'name': 'xiaowangge'})
- >>> print t.render(c)
- My name is xiaowangge.
- 解决方法二:
- 使用python manage.py shell启动 Python交互式解释器(实际上启动的是Ipython)
- python manage.py shell
- yixiaohan@ubuntu:~/djbk$ python manage.py shell
- Python 2.7.3 (default, Aug 1 2012, 05:16:07)
- Type "copyright", "credits" or "license" for more information.
- IPython 0.12.1 -- An enhanced Interactive Python.
- ? -> Introduction and overview of IPython's features.
- %quickref -> Quick reference.
- help -> Python's own help system.
- object? -> Details about 'object', use 'object??' for extra details.
- In [1]: from django import template
- In [2]: t = template.Template("my name is {{ name }}")
- In [3]: c = template.Context({'name':'yixiaohan'})
- In [4]: rt = t.render(c)
- In [5]: rt
- Out[5]: u'my name is yixiaohan'
- In [6]: print rt
- my name is yixiaohan
本文由@易枭寒(499065469@qq.com)整理写成.转载请注明出处和作者信息.