使用模板渲染 django 小部件?
Posted
技术标签:
【中文标题】使用模板渲染 django 小部件?【英文标题】:Render django widget using template? 【发布时间】:2012-08-06 05:50:37 【问题描述】:我真的很喜欢在 django 中使用模型表单来加速 UI 的能力。即:
<html>
...
myform
...
</html>
但是,我需要创建的 HTML 输出与默认创建的不匹配。我无法更改所需的 HTML 输出,但我想更改表单的输出。
我知道有几种方法可以做到这一点。循环遍历字段并单独显示每个字段(即循环显示 myform.field
)可以正常工作,但不如仅执行 myform
好。小部件似乎是个好主意,但在查看了文档和一些示例之后,我不太确定 - 我只想更改 html 输出,而不是功能。如果有某种方法可以基于模板输出字段,那就太好了。
有什么想法吗?
【问题讨论】:
【参考方案1】:我通常使用include 标签。我创建了一个自定义模板 (form_sn-p.html)。
为了论证,假设 form_sn-p.html 只是打印表单:
<!-- Form snippet -->
form
然后,当您想在其他模板中使用该表单模板时,您只需使用:
% include 'form_snippet.html' with form=myform %
您可以简单地遍历字段并添加您的自定义标记。
【讨论】:
好主意,谢谢。除此之外,我需要区分不同的字段类型 - 这:***.com/questions/1809874/… 对我来说效果很好。 太棒了!一些关于死的简单模板过滤器的东西让我微笑。以上是关于使用模板渲染 django 小部件?的主要内容,如果未能解决你的问题,请参考以下文章