如何在模板代码中设置变量的值?

18 浏览
0 Comments

如何在模板代码中设置变量的值?

假设我有一个模板

Hello {{name}}!

在测试中,如果不触碰调用该模板的Python代码就能够定义变量的值将非常有用。 所以我正在寻找类似于这样的东西

{% set name="World" %}
Hello {{name}}!

在Django中是否存在类似于这样的功能?

admin 更改状态以发布 2023年5月21日
0
0 Comments

创建模板标签:

在应用程序中应包含一个名为templatetags的目录,与models.pyviews.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?

0
0 Comments

您可以使用with模板标签。

{% with name="World" %}     

Hello {{name}}!

{% endwith %}

0