2

テンプレート内で新しい変数を宣言し、その値を設定できるようにする十分な数の例を見てきました。しかし、私がやりたいことは、テンプレート内の特定の変数の値を更新することです。

たとえば、オブジェクトの日時フィールドがありrequest.user、テンプレートに従ってタイムゾーンを追加したいとします。したがって、template filterlikeを作成する{% add_timezone object.created %}と、タイムゾーンが追加されobject.created、その後アクセス{{object.created}}するたびに更新された値が得られます。

これを行う方法を誰か教えてください。contextテンプレート フィルターから変数を更新する必要があることはわかっています。しかし、方法がわからない。

4

1 に答える 1

2

テンプレートの値を変更することはできませんが、{% with %}タグを使用して「スコープ」変数を定義できます。

{% with created=object.created|add_timezone %}
    Date created with fixed timezone: {{ created }}
{% endwith %}

add_timezone単純なフィルターはどこにありますか?

def add_timezone(value):
    adjusted_tz = ...
    return adjusted_tz

register.filter('add_timezone', add_timezone)
于 2012-07-04T12:13:39.503 に答える