如何在模板代码中设置变量的值?
如何在模板代码中设置变量的值?
假设我有一个模板
Hello {{name}}!
在测试中,如果不触碰调用该模板的Python代码就能够定义变量的值将非常有用。 所以我正在寻找类似于这样的东西
{% set name="World" %} Hello {{name}}!
在Django中是否存在类似于这样的功能?
admin 更改状态以发布 2023年5月21日
创建模板标签:
在应用程序中应包含一个名为templatetags
的目录,与models.py
、views.py
等文件处于同一级别。如果这个目录不存在,请创建它 - 不要忘记添加__init__.py
文件,以确保该目录被视为Python包。
在 templatetags 目录下创建名为 define_action.py
的文件,其代码如下:
from django import template register = template.Library() @register.simple_tag def define(val=None): return val
注意:开发服务器不会自动重启。在添加了templatetags
模块之后,您需要重启服务器才能在模板中使用标签或过滤器。
然后,在您的模板中,您可以像这样为上下文分配值:
{% load define_action %} {% if item %} {% define "Edit" as action %} {% else %} {% define "Create" as action %} {% endif %} Would you like to {{action}} this item?