Django模板标签切片不适用于表单切片
Posted
技术标签:
【中文标题】Django模板标签切片不适用于表单切片【英文标题】:Django template tag slice not working for form slicing 【发布时间】:2018-12-24 16:57:25 【问题描述】:这段代码有什么问题?我正在尝试对此进行切片,但它不起作用。 Django 2.x 版和 Python 3.5 版
% for field in form|slice:":3" %
<tr>
<td>
field.label_tag
</td>
<td>field</td>
</tr>
% endfor %
【问题讨论】:
究竟是什么不起作用?看起来应该是field.label_tag
?
好的,我将其更改为“字段”,我的问题是它没有对表单进行切片。整个表单都来html了
【参考方案1】:
您不能直接将slice
与表单一起使用。但你可以改用form.visible_fields
:
% for hidden in form.hidden_fields %
hidden
% endfor %
% for field in form.visible_fields|slice:":3" %
<tr>
<td>
field.label_tag
</td>
<td>field</td>
</tr>
% endfor %
【讨论】:
非常感谢。我可以在循环 form.visible_fields 时设置隐藏字段吗?假设我想隐藏前 3 个字段并想显示其余字段?我想要它在模板中。 @SamiulSk 欢迎您!我不确定是否可以在模板中添加隐藏属性。但是您可以在特定字段的表单类中执行此操作:***.com/questions/2902008/… 实际上我正在将模型表单切片为几个步骤(页面),因此我将表单切片验证并存储在会话中的清理值并转到另一个视图(第二步)并将会话数据初始化为形式。这就是为什么我需要在模板中更改它。 @SamiulSk 试试这个解决方案:blog.joeymasip.com/…以上是关于Django模板标签切片不适用于表单切片的主要内容,如果未能解决你的问题,请参考以下文章