2016-07-11 12 views
1

スタンドアロンモードでdjangoテンプレートを使用しようとしています。 私はこれらの例外を受け取ります(下記参照)。 誰かが喜んで助けてくれるのだろうかと疑問に思っています。python3でdjangoスタンドアロンを使用している例外

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

+0

[CLIツールにdjangoを使用する](http://stackoverflow.com/questions/32088702/using-django-for-cli-tool)の可能な複製 – e4c5

答えて

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を参照してください。

関連する問題