Skip to main content
 首页 » 编程设计

python之以成对的形式呈现字段

2025年05月04日6qq号

 <form action="/contact/" method="post"> 
 {% for field in form %} 
 <div class="fieldWrapper"> 
    {{ field.errors }} 
    {{ field.label_tag }}: {{ field }} 
 </div> 
{% endfor %} 
<p><input type="submit" value="Send message" /></p> 
</form> 

该代码与每行一个数据条目完美配合,但为了节省空间,我想每行 2 组呈现数据..(即每行 2 个字段并使用 <br>)

应该是这样的

field1.tag : field1,   field2.tag: field2. 

或一些类似的解决方案

请您参考如下方法:

最佳解决方案:样式

最好的解决方案是在样式层面解决它。

像那样 ( see demo ):

  • 模板:

    <form action="/contact/" method="post"> 
        {% for field in form %} 
            <div class="fieldWrapper"> 
                {{ field.errors }} 
                {{ field.label_tag }}: {{ field }} 
            </div> 
        {% endfor %} 
        <p><input type="submit" value="Send message" /></p> 
    </form> 
    
  • CSS:

    .fieldWrapper { 
        float: left; 
        width: 50%; 
    }​ 
    

备选方案:文档结构

或者,您可以使用更复杂的模板代码来生成行和列。为此,您可以使用 Django's for loop variables ,比如:

  • forloop.counter(或 forloop.counter0)- 包含循环中当前元素的编号,
  • forloop.first - True 如果当前元素是第一个,False 否则,
  • forloop.last - True 如果当前元素是最后一个,False 否则,

但是呈现问题(“节省屏幕空间”)应该在样式层上解决。