ホームページ > バックエンド開発 > Python チュートリアル > Django テンプレートの変数キーを使用してディクショナリ値にアクセスするにはどうすればよいですか?

Django テンプレートの変数キーを使用してディクショナリ値にアクセスするにはどうすればよいですか?

DDD
リリース: 2024-12-07 00:28:16
オリジナル
896 人が閲覧しました

How Can I Access Dictionary Values with Variable Keys in Django Templates?

Django テンプレートの変数キーを使用したディクショナリ値へのアクセス

伝統的に、Django テンプレートでは、{{ mydict.key1 }} 構文を使用してディクショナリ値にアクセスできます。ただし、キーが動的ループ変数である場合には課題が発生します。 {{ mydict.item.NAME }} などのループ変数の属性には、テンプレート内で直接アクセスすることはできません。

テンプレート フィルターによるアクセスのカスタマイズ

この問題に対処するために、Django は以下を提供します。カスタム テンプレート フィルターを定義するメカニズム。これらのフィルターを使用すると、テンプレート構文を拡張する特殊な関数を作成できます。この場合、変数キーに基づいて辞書から値を取得する get_item という名前のフィルターを作成します。

from django.template.defaulttags import register

@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)
ログイン後にコピー

.get() を使用することで、キーが欠落している可能性を適切に処理します。

テンプレートでカスタム フィルターを使用する

カスタム get_item フィルターをテンプレートで使用するにはDjango テンプレートには、次の構文が含まれます:

{{ mydict|get_item:item.NAME }}
ログイン後にコピー

この構文により、動的ループ変数 item.NAME に基づいて mydict の値が確実に取得されます。結果は実質的に mydict[item.NAME] になります。

結論

カスタム Django テンプレート フィルターを作成することで、変数キーを使用して辞書値にアクセスする柔軟性が解放されます。これにより、Django テンプレート内のデータ構造を操作するときに、より動的で強力なテンプレート ロジックが有効になります。

以上がDjango テンプレートの変数キーを使用してディクショナリ値にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート