我正在尝试创建一个按钮,允许用户通过将发布请求传递到以下视图来删除我系统上的用户。我的挑战是我无法获取表单的提交部分来触发 POST 请求,它总是生成 GET 然后无法删除用户:
<a href="{{ url_for('users.user_delete_admin', id=user.id) }}" class="btn btn-danger btn-xs" >Delete</a>
我尝试将方法 ="post" 作为参数传递给 url_for 方法,但这似乎不起作用
我的视图处理程序
@users_blueprint.route('/admin/delete-user/<int:id>', methods=["GET","POST"])
@login_required
@admin_login_required
def user_delete_admin(id):
user = User.query.get((id))
if request.method =="POST":
user.delete()
db.session.commit()
return redirect(url_for('users.users_list_admin'))
users = User.query.all()
return render_template('users-list-admin.html', users=users, current_user=current_user)
和html表单:
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Username</th>
<th>Is Admin ?</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user.id }}</td>
<td>{{ user.name }}</td>
<td>{{ user.admin }}</td>
<td>
<a href="{{ url_for('users.user_update_admin', id=user.id) }}" class="btn btn-info btn-xs">Edit</a>
</td>
<td>
<a href="{{ url_for('users.user_delete_admin', id=user.id) }}" class="btn btn-danger btn-xs" >Delete</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
用简单的形式处理这个相对简单,但由于某种原因,我无法让它正常工作。
谢谢