1. ホーム
  2. python

[解決済み] Django の残りの部分なしで Django のテンプレートを使うにはどうしたらいいですか?

2022-12-10 02:49:06

質問

私は自分の (Python) コードで Django テンプレートエンジンを使いたいのですが、 Django ベースの Web サイトを構築しているわけではありません。 settings.py ファイル (やその他) を持たず、環境変数 DJANGO_SETTINGS_MODULE を設定せずに使うにはどうしたら良いでしょうか?

以下のコードを実行すると

>>> import django.template
>>> from django.template import Template, Context
>>> t = Template('My name is {{ my_name }}.')

得ることができる。

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

どのように解決するのですか?

解決方法は簡単です。それは、実は よく知られている ですが、見つけるのはそれほど簡単ではありません。(私は何度か Google で検索してみましたが、出てきませんでした。)

次のコードは動作します。

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

(configure へのキーワード引数として) 定義したい設定のいくつかについては、(上にリンクした) Django のドキュメントを参照してください。