我想知道是否有任何方法可以在if
声明中调用模板标记。
我正在尝试执行以下操作。
{% for k,v in form.amenities.field.choices %}
{% if {% check_hidden k %} %}
{{ v }}
{% endif %}
{% endfor %}
{% check_hidden k %}
标记会从正在查找的项目的表格中返回True
或False
。
我可以确认{% check_hidden k %}
会自行返回True
或False
,但我想知道我是否可以在其周围包含if
语句?
我正在使用的应用程序是继承的,所以我正在努力减少现在需要完成的更改量。目前它只是呈现为{{form.amenities}}
,但我在模型中添加了一个额外的字段,我现在需要在模板中显示字段之前检查它。
如果还有其他办法可以做到,我愿意接受建议。
提前致谢。
答案 0 :(得分:7)
当需要的是filter时,听起来check_hidden
被写为模板标记。
{% if k|check_hidden_filter %}
答案 1 :(得分:0)
无论check_hidden
对选择值的作用是什么,都需要从根本上解决。
如果字段选择是动态的,则需要在视图函数中建立正确的选择集,从而无需在模板中执行check_hidden。
https://stackoverflow.com/search?q=%5Bdjango%5D+dynamic+choices
将为您提供多种动态选择方式。其中许多都是在view函数中完成的,不需要在模板中使用这种if语句。