python - 根据用户管理员级别使按钮消失
问题描述
我必须在页面上的表格中填充用户。我已成功从 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>
解决方案
您实际上可以使用 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 %}
推荐阅读
- c# - 面临的问题 值不能为空。参数名称:g
- python - Python If/else 混淆
- shell - 如何将 shell 脚本回显到 Jenkinsfile 等 groovy 界面中的文件
- javascript - Typescript child 与 parent 具有相同的道具,有没有更清洁的方法?
- javascript - 电子邮件正文的每个空格之间有 %20
- laravel - Laravel - 删除缓存文件 - 权限不足
- node.js - 有没有办法在一条路线中读取变量并在另一条路线中传递该值?
- download - 在 Artifactory Pro 上寻找一个选项来为下载指标创建仪表板
- reactjs - 如何在从数据库登录时使用挂钩将数据从子级更新到父级
- kotlin - 仅在 Kotlin 中按最大大小和空格分块字符串