Html 对齐动态图像数django模板
我有一个django模板,可以获得一组图像。图像的数量各不相同。我想在模板文件中对齐它,如每行3个图像。图像的正常显示不对齐。创建一个Html 对齐动态图像数django模板,html,css,django,twitter-bootstrap,Html,Css,Django,Twitter Bootstrap,我有一个django模板,可以获得一组图像。图像的数量各不相同。我想在模板文件中对齐它,如每行3个图像。图像的正常显示不对齐。创建一个 <div class="col-md-4"> </div> 对于每个图像,在3个图像后会出现格式错误。如何使用django本身或在引导中获取此信息?如果我理解正确,您需要在3个对象之后关闭行 为此,您应该查看Django文档中的forloop.countertemplate标记和divisiblebyfilter about.似乎要
<div class="col-md-4">
</div>
对于每个图像,在3个图像后会出现格式错误。如何使用django本身或在引导中获取此信息?如果我理解正确,您需要在3个对象之后关闭
行
为此,您应该查看Django文档中的forloop.counter
template标记和divisibleby
filter about.似乎要在Django模板中将列表拆分为大小相等的块
以下内容将有所帮助
Templatetag代码:
from django import template
register = template.Library()
@register.filter(name='chunks')
def chunks(iterable, chunk_size):
if not hasattr(iterable, '__iter__'):
# can't use "return" and "yield" in the same function
yield iterable
else:
i = 0
chunk = []
for item in iterable:
chunk.append(item)
i += 1
if not i % chunk_size:
yield chunk
chunk = []
if chunk:
# some items will remain which haven't been yielded yet,
# unless len(iterable) is divisible by chunk_size
yield chunk
模板代码:
{% for chunk in images|chunks:3 %}
<div class="row">
{% for image in chunk %}
<div class="col-md-4">
{{image}}
</div>
{% endfor %}
</div>
{% endfor %}
{%用于图像中的块|块:3%}
{区块%中图像的百分比}
{{image}
{%endfor%}
{%endfor%}
现在我添加了templatetags代码,并在settings.py中包含了TEMPLATE\u LOADERS=('django.TEMPLATE.LOADERS.app\u directories.Loader')
。现在,我的默认模板\u dirs被覆盖,并且我得到模板未找到错误