这几周笔者几篇文章介绍了改配置设置的文章. 关联文章的地址
明天正在试图敲写以下代码:
>>> from django import template >>> t = template.Template('My name is { { name }}.') >>> c = template.Context({'name': 'WHY'}) >>> print t.render(c) My name is WHY. >>> c = template.Context({'name': 'HuaHua'}) >>> print t.render(c) My name is HuaHua.
结果报了一大堆错误:
- 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
大致的看了一下,说是什么设置没有配置,须要配置环境变量。
可以用以下法方来理处:
在import之前参加一下代码入导settings:
>>> from django.conf import settings >>> settings.configure()
问题就理处了。
当然,还有另两种种理处方案,在此之前,我们先来看一下为什么不引入setting会报错。
动启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’。 当你运行命令:python manage.py shell,它将动自帮你理处DJANGO_SETTINGS_MODULE。 在前当的这 些示例中,我们勉励你应用`` python manage.py shell``这个法方,这样可以去免你大费周章地去配置那些你 不熟习的环境变量。 随着你愈来愈熟习Django,你可能会向偏于弃废应用`` manage.py shell`` ,而是在你的配置文 件.bash_profile中手动添加 DJANGO_SETTINGS_MODULE这个环境变量。
所以,另两种理处方案就是:
1.应用python manage.py shell动启Python
2.在你的配置文 件.bash_profile中手动添加 DJANGO_SETTINGS_MODULE这个环境变量。
文章结束给大家分享下程序员的一些笑话语录: 看到有人回帖“不顶不是中国人”,他的本意是想让帖子沉了。