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

标签 python html mysql flask

我必须在页面上的表格中填充用户。 我已经成功地从 mySQL 中提取用户并使用 {{users}}

在 html 上正确地填充了表格

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

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

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

Controller :

    @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>

最佳答案

您实际上可以使用 {% %} 的 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 %}

关于python - 根据用户管理员级别使按钮消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57051416/

相关文章:

python - Tkinter:将相同的键绑定(bind)到不同的小部件

python:什么时候在类方法上使用静态方法?

python - 像素坐标和颜色未显示

html - 如何从另一个 CSS 规则中借用样式

mysql - 如何将多个事务表合并为一个查询,每个表代表一个状态?

php - 数据库表没有更新,但查询正在执行并且文本框中的数据正在回显

python - 在提示符下仅键入 "python"时如何选择运行的 python 版本?

html - 示例网页播放声音

php - 通过Mysql数据库点击计数器

html - 获取固定位置的div以填充宽度