使用django standalone和python3的例外情况

时间:2016-07-11 17:19:11

标签: python django python-3.x

尝试在独立模式下使用django模板。 我得到了这些例外(下面)。 python的新手,想知道是否有人愿意帮忙。

Django用于在此处未显示的脚本中进行模板化。 但是,启动它时会出现完全相同的异常。

>>> from django.template import Template, Context
>>> from django.conf import settings
>>> settings.configure()
>>> t = Template('My name is {{ my_name }}.')
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/django/template/utils.py", line 86, in __getitem__
    return self._engines[alias]
KeyError: 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/django/template/base.py", line 182, in __init__
    engine = Engine.get_default()
  File "/usr/lib/python3.4/functools.py", line 472, in wrapper
    result = user_function(*args, **kwds)
  File "/usr/local/lib/python3.4/dist-packages/django/template/engine.py", line 88, in get_default
    django_engines = [engine for engine in engines.all()
  File "/usr/local/lib/python3.4/dist-packages/django/template/utils.py", line 110, in all
    return [self[alias] for alias in self]
....
....
  File "/usr/local/lib/python3.4/dist-packages/django/apps/registry.py", line 137, in get_app_configs
    self.check_apps_ready()
  File "/usr/local/lib/python3.4/dist-packages/django/apps/registry.py", line 124, in check_apps_ready
    raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

我的django版本:

python3 -c "import django; print(django.get_version())" ---> 1.9.7

我的python版本:

Python 3.4.3

1 个答案:

答案 0 :(得分:2)

致电settings.configure()后,您必须致电django.setup()

import django
from django.conf import settings
settings.configure()
django.setup()
from django.template import Template, Context
t = Template('My name is {{ my_name }}.')
c=Context({'my_name': 'Mindaugas'})
t.render(c)

有关详细信息,请参阅the docs