1

私は本当にばかげたことをしようとしています: Django テンプレートでいくつかの設定変数を表示します (Django 1.5 を使用)。だから、私がこれを試してみると:

<p>Timezone: {{ TIME_ZONE }}</p>

設定ファイルで定義されたタイムゾーンを取得します。ここまでは順調ですね。

しかし今、この新しい設定を定義するとしましょう:

FOO = 'bar'

そして試してください:

<p>Foo: {{ FOO }}</p>

変数の値がわかりません。なんで?

ビューからテンプレートに変数を渡すことができることはわかっていますが、プロジェクトの名前と説明を 1 か所だけで定義し、それらを任意のテンプレートに表示したい場合はどうすればよいでしょうか? これは、私がやりたい単純なタスクの 1 つです。

この種の問題は、私が物事を適切に行っていないことを示唆しています (「Django が適切に行うべきだと考える方法」を意味します) が、その理由はわかりません。

4

1 に答える 1

4

django.core.context_processors.tz設定でコンテキスト プロセッサが有効になっているため、テンプレートで TIME_ZONE 変数を使用できます。
参照: https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#get-current-timezone .

他の設定については、独自のコンテキスト プロセッサを記述するか、ビューから設定値を送信する必要があります。
次のようにプロジェクトの設定をインポートできますfrom django.conf import settings
ドキュメントでは、ローカル設定ファイルの代わりに使用することをお勧めします。

ここで詳細を確認できます: https://docs.djangoproject.com/en/dev/topics/settings/#using-settings-in-python-code

于 2013-11-14T19:18:29.977 に答える