我是使用Python Flask和SQlalchemy进行Web开发的新手,我正在尝试使用看板板的“user”表中的用户名填充下拉菜单。我能够从数据库中获取数据,但由于某种原因,它们没有显示在 Jmeter 板模板的下拉菜单中。实际上,下拉菜单已填充,但名称未显示:
app.py
from flask import g
import sqlite3
def get_db():
DATABASE = 'C:/path/to/db'
db = getattr(g, '_database', None)
if db is None:
db = g._database = sqlite3.connect(DATABASE)
return db
@app.route('/dashboard')
def dashboard():
cur = get_db().cursor()
team_members = cur.execute("SELECT username FROM user").fetchall()
print(team_members)
return render_template('dashboard.html', team_members=team_members)
dashboard.html
<div class="dropdown">
<p style="font-family:verdana">
Choose a team member:<SELECT name="team_members_usernames" style="font-family:verdana">
{% for t in team_members %}
<OPTION value={{t[0]}}>{{t[1]}}</OPTION>
{% endfor %}
</SELECT>
</p>
</div>
在控制台中,我得到的用户名如下所示:
[('User_1',), ('User_2',), ('User_3',), ('User_4',)]
我做错了什么?我会感谢每一个提示!
1条答案
按热度按时间mdfafbf11#
你在控制台中得到的用户名是一个元组列表,每个元组只有一个你在dashboard.html中访问的项,如下所示:
<OPTION value={{t[0]}}>{{t[1]}}</OPTION>
第二个项目{{t[1}}
是None
,因此您在选择字段中没有看到任何文本。尝试如下操作:<OPTION value={{t[0]}}>{{t[0]}}</OPTION>