измените цвет значка в зависимости от значения таблицы SQL в колбе

#python #mysql #python-3.x #flask

Вопрос:

Я использую код .py для отображения таблицы в html:

 @flask.route('/users_table', methods=['GET', 'POST'])
def users_table():
    cur = mysql.connection.cursor(MySQLdb.cursors.DictCursor)
    cur.execute('SELECT * FROM `users` WHERE isadmin = 0')
    all_users = cur.fetchall()
    return render_template('users-table.html', all_users=all_users
 

и .html-код:

 <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
<thead>
    <tr>
        <th>User Name</th>
        <th>Email</th>
        <th>Company</th>
        <th>Status</th>
        <th>Tools</th>
    </tr>
</thead>
      {% for row in all_users %}
    <tr>
        <td>{{row.username}}</td>
        <td>{{row.email}}</td>
        <td>{{row.company_name}}</td>
        <td>{{row.isenabled}}</td>
        <td><a href="/reset_user_pass/{{row.Id}}" data-toggle="modal" data- 
        target="#modaledit{{row.Id}}"><i class="fa fa-play"></i></a></td>
    </tr>
    {% endfor %}
</table>
 

показать таблицу sql

Я хочу изменить значок «fa-fa-play» на основе значения в столбце «статус».

Как я могу этого достичь

Комментарии:

1. Какой значок вам нужен для какого статуса?

Ответ №1:

Я думаю, вы можете использовать условные операторы.

 <td><a href="/reset_user_pass/{{row.Id}}" data-toggle="modal" data- 
        target="#modaledit{{row.Id}}"> 
{% if row.status == 0  %}
    <i class="fa fa-play"></i></a> 
{% else %}
    <i class="SOMETHING ELSE"></i></a>
{% endif %}
</td>
 

Вы также можете проверить троичные условия.

Ответ №2:

 <i class="fa fa-{{ 'icon1' if row.isenabled else 'icon2' }}"></i>
 

Предполагая , что значение статуса определяется на основе row.isenabled , вы можете использовать встроенные if/else для отображения различных значков в соответствии с условием. Я использовал icon1 и icon2 которые вы можете заменить настоящими значками.

Комментарии:

1. Спасибо вам за ответ.