我已经看到足够多的示例,这些示例允许我在模板内声明新变量并设置其值。但我想做的是更新模板内特定变量的值。
例如,我有一个对象的日期时间字段,我想根据模板中的 request.user
添加时区。因此,我将创建一个像 {% add_timezone object.created %}
这样的模板过滤器
,它的作用是将时区添加到 object.created
之后,每当我访问 {{object.created}}
时,它都会给我更新的值。
谁能告诉我如何做到这一点。我知道我需要更新模板过滤器中的 context
变量。但不知道怎么办。
最佳答案
您无法修改模板中的值,但可以使用 {% 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)
关于django - 更新模板内变量的值 - django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11324839/