根据用户管理员级别使按钮消失

时间:2019-07-16 06:41:42

标签: python html mysql flask

我必须在页面的表格中填充用户。 我已经成功地从MySQL中拉出用户,并使用{{users}}

在html上正确填充了表格

但是,基于{{users.user_level}}的值(9(管理员)或1(普通用户)),我只想在管理员级别为9时显示操作按钮“删除管理员访问权限”。

我尝试将{{user.user_level}}放入变量中,然后使用JavaScript隐藏/显示按钮,但是我似乎无法将user.user_level的值映射到变量。

可能有一个更简单的解决方案?

控制器:

    @app.route('/admin')
    def admin():
        mysql = connectToMySQL('advanced_login')
        result = mysql.query_db('SELECT * FROM users')
        return render_template('admin.html', users=result)

观看次数:

    <table>
    <thead>
        <th>ID</th>
        <th>Name</th>
        <th>Email</th>
        <th>Status</th>
        <th>Actions</th>
    </thead>
    <tbody>
        {%for user in users%}
        <tr>
            <td>{{user.id}}</td>
            <td>{{user.first_name}} {{user.last_name}}</td>
            <td>{{user.email}}</td>
            <td>{{user.user_level}}</td>
            <td><form action='/remove/{{user.id}}' method="POST">
                    <button>Remove user</button>
                </form>

                <form action='/change_access/{{user.id}}' 
                  method="POST">
                    <button>Remove admin access</button>
                </form>
            </td>
        </tr>
        {%endfor%}
     </tbody>

1 个答案:

答案 0 :(得分:1)

您实际上可以使用{% %}使用if else语句。因此,在您的情况下:

{% if user.user_level == 9 %}
    <form action='/remove/{{user.id}}' method="POST">
        <button>Remove admin access</button>
    </form>
{% else %}
    <form action='/remove/{{user.id}}' method="POST">
        <button>Remove user</button>
    </form>
{% endif %}