{% for item in dlist %}
<p>{{ item }}</p>
{% endfor %}
{% for i in range(dlist|length) %}
{{ dlist.pop(0) }}
{% endfor %}
使用列表“ dlist”之后,我想清除其上的数据,以便在下一次迭代时,列表从大小0开始。但是,如果我使用dlist.pop(0)这样做,则数据被打印在我的html页面上,我不想要那样。我该怎么办?
答案 0 :(得分:1)
如果要完全清除列表,可以使用clear()
方法清除列表。方法can be read from the official documentation的详细信息。
{{}}
分隔符将显示结果,即使它是None
值也是如此。我们需要阻止它,因为我们只想清除列表,并且我们不希望在执行它后显示None
。我在分隔符内添加了一个条件,以从输出中隐藏None
。
app.py
:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/", methods=["GET"])
def home():
dlist = ["Ahmedur", "Rahman", "Shovon", "arsho"]
return render_template("data.html", dlist=dlist)
data.html
:
{% for item in dlist %}
<p>{{ item }}</p>
{% endfor %}
{{ dlist.clear() if dlist.clear()}}
<hr>
{% for item in dlist %}
<p>{{ item }}</p>
{% endfor %}
输出:
hr
标记之后的第二个for循环在输出中未显示任何值。因为执行dlist
方法后clear()
不包含任何值。