Django模板中的{{form}}与{{form.as_table}}

时间:2017-03-25 06:45:39

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

  

样式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,这似乎意味着这两种风格可以互换,但我不确定。

1 个答案:

答案 0 :(得分:1)

没错。

来自docs

  

最后,as_table()将表单输出为HTML。 这与print完全相同。实际上,当您打印表单对象时,它会在幕后调用其as_table()方法

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