用于填充 Bootstrap 行和列的 django 模板

标签 django templates twitter-bootstrap tags

所以这是我的问题:我有一堆类的实例。我想要一张这些实例对象的表格,这样每行最多有六个。在 Bootstrap 术语中,我希望每个对象都由类“span2”的“div”中的缩略图表示。

我最初的冲动是使用嵌套的 for 循环,但我在模板中操作我的索引变量时遇到了麻烦,而且我不知道如何在我的模板之外这样做。

这通常是我想要弄清楚的 python/django 模板/伪代码。

queryset = Class.objects.all()
set_length = queryset.count()

num_rows = set_length/6 
#because I want 6 columns in each row, each with one instance

set_as_list = list(queryset) 
# have a list so I can iterate through objects by index

for i in range(table_rows):
    # make a row
    <div class="row">
    for j in range (i*6,(i+1)*6):
        #make six or less columns
        <div class="span2">
           <p>set_as_list[j].attribute1</p>
           <p>set_as_list[j].attribute2</p>
        </div>
    </div> # end row

我希望这种 django 模板语言、python 和 html 的公然混合不会太严重地冒犯任何人。只是想表达我想要做什么的想法。如果有人愿意提供任何帮助,我将不胜感激,因为我已经为此苦苦挣扎了好几天,并且在模板内外都在寻找解决方案。

我也意识到在整数除法之后需要有一个包含剩余对象的最后一行。

最佳答案

没有时间解释,但我遇到了类似的问题,直到我关闭这个浏览器页面,这里是一个解决方案

{% for sub_article in articles %}
    {% if forloop.first %}<div class="row">{% endif %}
    <div class="col-xs-4">
            <a href="#">
                {{ sub_article.name }}
            </a>
        </div>
    {% if forloop.counter|divisibleby:3 %}</div><div class="row">{% endif %}
    {% if forloop.last %}</div>{% endif %}
{% endfor %}

关于用于填充 Bootstrap 行和列的 django 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20309593/

相关文章:

django - 应用程序 URL 到项目 URL

c++ - 在 C++ 中自动实例化一堆类型

html - 根据屏幕尺寸更改布局

html - 带有 imgs 的 Bootstrap 方形瓷砖

css - Bootstrap 列嵌套

python - 类型错误 : login() got an unexpected keyword argument 'template_name'

python - 无法让 ToMany 在 Tastypie 中工作

javascript - 防止保存按钮在 Django 管理中提交表单

c++ - 接收错误 C2664 : cannot convert parameter 1 from 'std::vector<_Ty>' to 'std::vector<_Ty,_Ax> &' when passing vector<int> to templated method

c++ - 模板是如何实例化的?