django - 如何在 django 的不同 div 布局中使用一个 for 循环?
问题描述
我想在具有不同 div 布局的部分中列出博客文章。如何通过只使用一个 for 循环来做到这一点。
或者有没有其他方法,如果是这样,你能建议怎么做吗?
解决方案
而不是使用 for 循环。一种方法是使用 django 模板标签。
在这个特定场景中使用 for 循环将涉及很多条件来构建模板。
注意:Bootstap 'Grid System' 用于在模板中构建布局。相关信息可在此处找到
模板
<div class="row>
<div class="col-8">
{{ posts|get_element_by_index:0 }}
</div>
<div class="col-4>
<div class="row">
{{ posts|get_element_by_index:1 }}
</div>
<div class="row">
{{ posts|get_element_by_index:2 }}
</div>
</div>
</div>
<div class="row">
<div class="col-4">
{{ posts|get_element_by_index:3 }}
</div>
<div class="col-4">
{{ posts|get_element_by_index:4 }}
</div>
<div class="col-4">
<div class="row">
{{ posts|get_element_by_index:5 }}
</div>
<div class="row">
{{ posts|get_element_by_index:6 }}
</div>
<div class="row">
{{ posts|get_element_by_index:7 }}
</div>
</div>
</div>
模板标签
from django import template
register = template.Library()
@register.filter
def get_element_by_index(queryset, i):
try:
post = queryset[i]
except:
post = None
return post
关于如何设置模板标签的信息可以在这里找到
with
如果您想将帖子作为可用变量返回,请查看此处的内置模板
推荐阅读
- java - 需要有关如何使用 Firebase 构建我的应用后端的建议
- html - 两人如何在 Azure 上为同一个域设置三个应用服务
- python - 将数据框和去重数据框之间的缺失值配对并输出到 csv
- css - 获取固定位置元素不阻塞其他内容
- qt - Qml沿一行拆分Gridview
- ios - 从 UIAlertAction 处理程序更新 UILabel 在 Swift 4 中不起作用
- python - 为什么 ARIMA 不能处理我的时间序列数据?
- android - 错误:从 minSdkVersion 16 升级到 minSdkVersion 23 时,包 android.support.multidex 不存在
- python - 如何打开包含数千张人脸图像的 .raw 文件进行分类
- lua - 如何获取表中条目的列出次数