我对 Python 和 Jinja 非常陌生,在访问 HTML 中列表的值时遇到问题。页面上显示为空白。下面给出的是代码片段,任何帮助将不胜感激。 emplList 以以下方式检索值 [0,"John"][1,"Sunny"][2,"Pal"]
app = Flask(__name__)
emplList = pd.read_sql_query("SELECT DISTINCT employee_name FROM employeeTBL", conn)
@app.route('/')
def home():
return render_template('app.html', employees=emplList)
if __name__=='__main__':
app.run(debug=True)
<select id="multipleSelect" multiple name="native-select" placeholder="Native Select" data-search="true" data-silent-initial-value-set="true">
{% for row in employees%}
<option value={{row.employee_name}}>{{row.employee_name}}</option>
{% endfor %}
</select>
根据您的问题,并不是 100% 清楚您的数据是什么,但看起来您没有将数据帧转换为适合 Jinja 的内容。
这可能就是您所需要的,使用 df.to_dict() 将其转换为字典
render_template('app.html', employees=employees)
pandas 的官方文档显示了使用 df.to_dict() 的“orientation”参数的示例,我希望您需要使用它。以下变体之一可能适用于您的情况,但我建议您在解释器中手动探索以尝试您的选项:
emplList.to_dict('dict')
emplList.to_dict('list')
emplList.to_dict('series')
emplList.to_dict('split')
emplList.to_dict('tight')
emplList.to_dict('records')
emplList.to_dict('index')