Django两栏式

evg*_*iuz 3 forms django templates

为具有9个字段的模型实现django ModelForm的最有效的方法是什么,该字段将在模板中分为两列?像这样:

<form>
    <div class="column-1">
        5 fields for column 1
    </div>
    <div class="column-2">
        4 fields for column 2
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

slo*_*ays 5

我认为最简单,最干净的方法是坚持使用文档中概述的方法...

<form>
    <div class="column-1">
       {{ form.field1 }}
       ...
       {{ form.field5 }}       
    </div>
    <div class="column-2"> 
       {{ form.field6 }}
       ...
       {{ form.field9 }}
       </div>
</form>
Run Code Online (Sandbox Code Playgroud)

  • 这样,我需要将字段硬编码到模板中,这感觉不对。 (4认同)
  • @鲨鱼:这甚至不是远程的“错误”。如果Django没有像`as_ul`或`as_p`这样为您​​提供方便的方法,那么无论如何这就是您必须要做的。没错,通过分别渲染字段会丢失一些抽象,但这就是希望以不同方式“显示”它们的代价。 (2认同)