我目前正在制作一个flask
项目,我想在其中显示四个Bootstrap
每行的列数。为了做到这一点,我想我可以这样做:
my_list = ["a","b","c","d","e","f","g","h","i","k",
"l","m","n","o","p","q","r","s","t","u",
"v","w","x","y","z"]
for i in range(len(my_list)):
for i in my_list[:4]:
print(i)
my_list.remove(i)
# returns every element of my_list in order
但是,当我在实际项目中尝试这样做时,无论我放在哪里,都会出现错误
{% number_of_texts.remove[j] %}:
“jinja2.exceptions.TemplateSyntaxError:遇到未知标签
'文本数'。 Jinja 正在寻找以下标签:“endfor”
要不然'。需要关闭的最里面的块是‘for’。”
这些是 main.py 中的变量:
@app.route('/texts')
def texts():
number_of_texts = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
return render_template('texts.html', title="All texts", number_of_texts=number_of_texts, len=len(number_of_texts))
这是我的 texts.py 代码:
{% for i in range(len) %}
<div class="row">
{% for j in number_of_texts[:4] %}
<div class="col m-1">
<div class="card" style="width: 15rem; height: 28rem; border-radius: 25px 25px 0px 0px">
<img src="static\img\p_01.jpg" class="card-img-top" alt="..." style="object-fit: cover; border-radius: 25px 25px 0px 0px">
<div class="card-body">
<h5 class="card-title">row: {{ i }}</h5>
<p class="card-text">column: {{ j }}</p>
<a href="{{ url_for('specific_text', text_no=1) }}" class="btn btn-dark">Button</a>
</div>
</div>
</div>
{% endfor %}{% number_of_texts.remove[j] %}
</div>
{% endfor %}
如果我不删除j
从列表中number_of_texts
,当然,除了获得太多列之外,我还得到了我真正想要的布局。它看起来是这样的:https://i.stack.imgur.com/V07oW.jpg https://i.stack.imgur.com/V07oW.jpg
有没有其他方法可以将这些项目从list
,这样我只显示列表中的每个元素一次?
此致