2012-01-17 5 views
-1

私はDjangoの管理コマンドを書いており、新しいファイルを作成するために解析するテンプレートファイルを作成しました。jinja2ではなくdjango-templateをスクリプトで使うには?

これまではJinja2を使っていましたが、これはDjangoの管理コマンドなので、私はdjangoベースのテンプレートに切り替えたいと思います。

あなたはdjango管理コマンドファイルでテンプレートenvironnementをどのように設定できるか知っていますか?

私は何を探しています、このJinja2のコードと同等です:

env = Environment(loader=PackageLoader('modulo.bin', 'templates/plugin_templates')) 

はEDIT:管理における OK]をクリックして、それが動作するコマンド。しかし、普通のpythonスクリプトでdjango-templateを使いたいのですが?

おかげで、

レミー

答えて

1

あなたはどのような環境を設定する必要はありません。あなたはDjangoコマンドを使っています。あなたはDjangoテンプレートを使うことができます。

+0

この場合、テンプレートは自分のプロジェクトテンプレートディレクトリにある必要があります。私は、プロジェクトテンプレートディレクトリとは別に、コマンド用の特定のテンプレートディレクトリを作成したかったのです。しかしここでもまた、INSTALLED_APPに自分のbinアプリを追加するだけで、うまくいきます。ありがとう。 – Natim

1

Django管理コマンドは、通常はビューにあるように、すべてのdjango環境変数にアクセスできます。

from django.template.loader import render_to_string 

c = {'var':'value','var2':'value2'} # values you want to send to the template 
content = render_to_string('template.html',c) # rendered template 

これは、通常のDjangoテンプレートルールに従うので、template.htmlはロード可能でなければなりません(つまり、それは "にする必要があります:、テンプレートをロードし、いくつかのコンテキストを割り当て、結果を保存するには

djangoはテンプレートを探します;またはTEMPLATE_DIRSにリストされたディレクトリにあります)。

関連する問題