我正在嘗試在鏈接串列中的 HTML 頁面 (index.html) 上顯示我的結果。我有兩個串列,第一個包含所有網站名稱,第二個包含它們的鏈接。我想將名稱顯示為可點擊的專案。
我的清單:
name_list = ['Name1','Name2','Name3']
link_list = ['Link1','Link2','Link3']
我的 Python 代碼回傳的內容:
return render_template('index.html' , name_list =name_list , link_list =link_list , len1 = len(name_list ))
HTML代碼:
{% for i in range(0, len1) %}
<li><a href={{link_list[i]}} >{{ name_list[i] }}</a></li>
{% endfor %}
但我有兩個錯誤:
首先是len1, 因為當我將代碼更改為range(0, 5)(或任何 int)時,此行有效。
TypeError: 'Undefined' object cannot be interpreted as an integer
第二個發生在我添加我想要的元素的位置時name_list[i]。
jinja2.exceptions.UndefinedError: 'name_list' is undefined
uj5u.com熱心網友回復:
這是解決您的問題的簡單方法:
您將這兩個串列與 python 的內置函式結合起來zip():
name_list = ['Name1','Name2','Name3']
link_list = ['Link1','Link2','Link3']
name_link_list = zip(name_list, link_list)
你只需回傳這個:
return render_template('index.html' , name_link_list=name_link_list)
這將回傳表單的元組串列[('Name1', 'Link1'), ('Name2', 'Link2'), ...],您可以使用每個元素的索引在 HTML 代碼中獲取該串列。0 為名稱,1 為鏈接。
最后是你的 HTML 代碼:
<ul>
{% for i in name_link_list %}
<li><a href={{i[1]}} >{{ i[0] }}</a></li>
{% endfor %}
</ul>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/396354.html
上一篇:為什么flex-container上的width%縮小了它的內容,而flex-basis卻沒有?
下一篇:PHP不透明
