【发布时间】:2025-12-04 11:10:02
【问题描述】:
我正在尝试创建一个按钮,允许用户通过将发布请求传递到以下视图来删除我系统上的用户。 我的挑战是我无法获取表单的提交部分来触发 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>
用一个简单的表单处理这个相对简单,但由于某种原因,我无法让它正常工作。
谢谢
【问题讨论】:
-
非常感谢 - 甚至不知道在哪里看。这实际上来自一个教程