gpt4 book ai didi

django - Django模板标记在多行

转载 作者:行者123 更新时间:2023-12-04 01:53:32 25 4
gpt4 key购买 nike

我正在通过使用这样的代码创建自定义django模板标签:

@register.simple_tag(takes_context=True)
def render_listing(context, *args, **kwargs):
... my code ...

这很好用,但是在我的模板中,似乎所有参数都必须在一行上,例如:

这有效:
{% render_listing param1=val1 param2=val2 ... paramN=valN %}

但在多行上,它不起作用:
{% render_listing param1=val1 
param2=val2
...
paramN=valN %}

我尝试了多个转义序列,但没有成功,

有没有办法在多行上指定模板标签?

最佳答案

不,Django模板语言不支持多个行标签。请参阅ticket 8652(已作为WONTFIX关闭),或从django-developers邮件列表中查看this thread

有时,如果存在重复的前缀,则可以使用with标记使其更具可读性。例如,如果您有,

{% render_listing param1=long.common.prefix.val1 param2=long.common.prefix.val2 param2=long.common.prefix.val3 %}

你可以重写为
{% with prefix=long.common.prefix %}
{% render_listing param1=prefix.val1 param2=prefix.val2 param2=prefix.val3 %}
{% endwith %}

通常(但不总是),一个很长的标记表明您在模板中放置了太多的逻辑。看看是否可以将其中的一些移动到 View ,模型方法,模板标签或模板过滤器中。

关于django - Django模板标记在多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49110044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com