无法使用url_for在Flask上生成POST请求

时间:2015-05-26 16:41:07

标签: python html flask url-for

我正在尝试创建一个按钮,允许用户通过将请求发送到以下视图来删除我系统上的用户。 我的挑战是我无法获取表单的提交部分来触发POST请求,它总是生成GET然后无法删除用户:

<a href="{{ url_for('users.user_delete_admin', id=user.id) }}" class="btn btn-danger btn-xs" >Delete</a>

我尝试将method =“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>

使用简单的表单处理它相对简单,但由于某种原因,我无法使其正常运行。

由于

1 个答案:

答案 0 :(得分:1)

像这样处理:

var appearenceEB = function(){
    block.style.visibility = "visible";
}

var dissappearenceEB = function(){
    block.style.visibility = "hidden";   
}