Ошибка при использовании django.template

Я начинаю работать в django, и у меня появилось много ошибок при использовании модуля шаблонов из django. Следующие действия из оболочки python:

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.

Доза у кого-нибудь есть идея об этой ошибке?

Ответы

Ответ 1

Вы не можете получить доступ и запустить проекты django из оболочки python. 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.

Ответ 2

Если вы хотите использовать систему шаблонов без оболочки django, вы можете сделать:

from django.conf import settings
settings.configure()

и после этого ваш код

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

Ответ 3

У меня также была та же проблема.

Главное, что в книге django 2 этот кусок кода не предназначен для того, чтобы пользователи вставляли в Python IDLE, запущенный с вашего python.exe(предположительно в C:\Program Files\Python33 в Windows).

Скорее всего, это просто показывает, как будет выглядеть часть кода. Решение просто запускается "cmd" и меняет каталог на ваш "mysite" и запускает

оболочка python manage.py

которые обеспечивают использование "mysite.settings.py".

Ответ 4

Конечно, ответ @Sudipta работает правильно, но (только на будущее) для объяснения вы также можете посетить раздел < Creating Template Objects "- > " A special Python prompt Книга Django

Ответ 5

Чтобы устранить эту проблему, вам нужно запустить ее в python manage.py shell вместо python.

Причина: Ну, многие части Django полагаются на настройки, и вы не сможете их использовать, пока не узнаете, какой файл настроек использовать. Когда вы запустите его на python manage.py shell, Django знает, какой файл настроек использовать и выполняет задание для вас.