(Flask) Как изменить список после выборки - PullRequest
0 голосов
/ 23 марта 2020

(извините за мой очень плохой английский sh! ... ^^) Привет всем

Я делаю определение в своем flask, чтобы сохранить с моей выборкой список. Но мне нужно добавить параметры в моем списке, чтобы что-то сделать. Мне нужно добавить в список [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'))

С уважением

1 Ответ

0 голосов
/ 23 марта 2020

Наиболее эффективный способ - добавить постоянное значение в запросе SQL:

sql = """SELECT id, Nom, Prenom, Tel, 'Oui' As Admin 
         FROM `users` WHERE Privilege = 'patient'
      """
...
cur.execute(sql)

Если вам нужно, чтобы значение было динамическим c, передайте его в качестве параметра. Ниже предполагается, что ваш 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)
...