1

我真的很喜欢在 django 中使用模型表单来加速 UI 的能力。IE:

<html>
    ...
    {{ myform }}
    ...
</html>

但是,我需要创建的 HTML 输出与默认创建的不匹配。我无法更改所需的 HTML 输出,但我想更改表单的输出。

我知道有几种方法可以做到这一点。循环遍历字段并单独显示每个字段(即循环和显示{{ myform.field }})可以正常工作,但它并不像刚刚做的那样好{{ myform }}。小部件似乎是个好主意,但是在查看了文档和一些示例之后,我不太确定 - 我只想更改 html 输出,而不是功能。如果有某种方法可以基于模板输出字段,那就太好了。

有任何想法吗?

4

1 回答 1

3

我通常使用包含标签。我创建了一个自定义模板 (form_snippet.html)。

为了论证,假设 form_snippet.html 只是打印表单:

<!-- Form snippet -->
{{ form }}

然后,当您想在其他模板中使用该表单模板时,您只需使用:

{% include 'form_snippet.html' with form=myform %}

您可以简单地遍历字段并添加您的自定义标记。

于 2012-08-09T02:47:32.687 回答