(Flask)如何在 fetchall 之后修改列表
(Flask) How to modify list after a fetchall
(对不起,我的英语很糟糕!... ^^)
大家好
我在我的烧瓶中做了一个 def 来保存我的 fetchall 列表。
但是我需要在我的列表中添加一个参数来做一些事情。
我需要添加列表[4]
但是,我不知道该怎么做...
# Fonction récupération des comptes patients
def get_accountpatient():
var = "SELECT id, Nom, Prenom, Tel FROM `users` WHERE Privilege = 'patient'"
try:
cur = bdd_login()
except pymysql.Error as e:
return session_out(e)
cur.execute(var)
list = cur.fetchall()
cur.close()
print(list)
return list
list return : ((1, 'BLOQUIAU', 'Thomas', '0669696969'), (2, 'PARAT', 'Clement', '0669696969'), (24, 'Gerez', 'Quentin', '0642181185'))
Python 另一个函数中的代码调用 get_accountpatient()
return render_template('user_manage.html', **templateData, accounts=get_accountpatient(), sidebar=7, usermanage_div=2)
HTML代码
<thead>
<tr>
<th>ID</th>
<th>Nom</th>
<th>Prénom</th>
<th>Téléphone</th>
<th>Administré par {{prenom_user}} {{name_user}}</th>
</tr>
</thead>
<tbody>
{% for list in accounts %}
<tr>
<td>{{ list[0] }}</td>
<td>{{ list[1] }}</td>
<td>{{ list[2] }}</td>
<td>{{ list[3] }}</td>
<td>{{ list[4] - **I NEED TO ADD THIS LINE** }}</td>
</tr>
{% endfor %}
</tbody>
我希望这是可能的
((1, 'BLOQUIAU', 'Thomas', '0669696969', 'Oui'), (2, 'PARAT', 'Clement', '0669696969', 'Oui'), (24, 'Gerez', 'Quentin', '0642181185', 'Oui'))
此致
最有效的方法是在 SQL 查询中添加常量值:
sql = """SELECT id, Nom, Prenom, Tel, 'Oui' As Admin
FROM `users` WHERE Privilege = 'patient'
"""
...
cur.execute(sql)
如果您需要动态值,请将其作为参数传递。下面假设您的 DB-API 使用 %s
作为参数占位符(其他人可能使用 qmarks ?
):
sql = """SELECT id, Nom, Prenom, Tel, %s As Admin
FROM `users` WHERE Privilege = 'patient'
"""
...
myvar = 'Oui'
cur.execute(sql, (myvar,)) # PARAMS MUST BE PASSED IN TUPLE OR LIST (NOT SINGLE VALUES)
(对不起,我的英语很糟糕!... ^^) 大家好
我在我的烧瓶中做了一个 def 来保存我的 fetchall 列表。 但是我需要在我的列表中添加一个参数来做一些事情。 我需要添加列表[4]
但是,我不知道该怎么做...
# Fonction récupération des comptes patients
def get_accountpatient():
var = "SELECT id, Nom, Prenom, Tel FROM `users` WHERE Privilege = 'patient'"
try:
cur = bdd_login()
except pymysql.Error as e:
return session_out(e)
cur.execute(var)
list = cur.fetchall()
cur.close()
print(list)
return list
list return : ((1, 'BLOQUIAU', 'Thomas', '0669696969'), (2, 'PARAT', 'Clement', '0669696969'), (24, 'Gerez', 'Quentin', '0642181185'))
Python 另一个函数中的代码调用 get_accountpatient()
return render_template('user_manage.html', **templateData, accounts=get_accountpatient(), sidebar=7, usermanage_div=2)
HTML代码
<thead>
<tr>
<th>ID</th>
<th>Nom</th>
<th>Prénom</th>
<th>Téléphone</th>
<th>Administré par {{prenom_user}} {{name_user}}</th>
</tr>
</thead>
<tbody>
{% for list in accounts %}
<tr>
<td>{{ list[0] }}</td>
<td>{{ list[1] }}</td>
<td>{{ list[2] }}</td>
<td>{{ list[3] }}</td>
<td>{{ list[4] - **I NEED TO ADD THIS LINE** }}</td>
</tr>
{% endfor %}
</tbody>
我希望这是可能的
((1, 'BLOQUIAU', 'Thomas', '0669696969', 'Oui'), (2, 'PARAT', 'Clement', '0669696969', 'Oui'), (24, 'Gerez', 'Quentin', '0642181185', 'Oui'))
此致
最有效的方法是在 SQL 查询中添加常量值:
sql = """SELECT id, Nom, Prenom, Tel, 'Oui' As Admin
FROM `users` WHERE Privilege = 'patient'
"""
...
cur.execute(sql)
如果您需要动态值,请将其作为参数传递。下面假设您的 DB-API 使用 %s
作为参数占位符(其他人可能使用 qmarks ?
):
sql = """SELECT id, Nom, Prenom, Tel, %s As Admin
FROM `users` WHERE Privilege = 'patient'
"""
...
myvar = 'Oui'
cur.execute(sql, (myvar,)) # PARAMS MUST BE PASSED IN TUPLE OR LIST (NOT SINGLE VALUES)