【问题标题】:{{ form }} versus {{ form.as_table }} in Django templateDjango 模板中的 {{ form }} 与 {{ form.as_table }}
【发布时间】:2017-08-18 05:07:35
【问题描述】:

样式 A

<form action="" method="post">
    {% csrf_token %}
    <table>
        {{ form.as_table }} <!-- Notice this -->
    </table>
    <input type="submit" value="Submit"/>
</form>

风格 B

<form action="" method="post">
    {% csrf_token %}
    <table>
        {{ form }} <!-- Notice this -->
    </table>
    <input type="submit" value="Submit"/>
</form>

样式 A 和样式 B 有什么区别?经过一些简单的实验,我发现他们的HTML output是相同的。

我看过document,似乎暗示这两种风格可以互换,但我不确定。

【问题讨论】:

  • 以下答案是否帮助您解决了问题?
  • @nik_m 我期待 Django 的源代码级别的解释,但你的答案是好的。
  • 我相信写成as_table()会比较冗长。就是这样!

标签: html django forms django-forms django-templates


【解决方案1】:

没错。

来自docs

最后,as_table() 将表单输出为 HTML 。 这和 print 完全一样。实际上,当你打印一个表单对象时,它会在后台调用它的as_table() 方法

所以,正如你所说,这两种风格是可以互换的

【讨论】:

    猜你喜欢
    • 2021-03-24
    • 2017-06-14
    • 2023-01-31
    • 2020-07-24
    • 1970-01-01
    • 2014-07-28
    • 2015-09-16
    • 2016-07-16
    • 2021-11-26
    相关资源
    最近更新 更多