Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flask security delete用户返回错误_Flask_Flask Sqlalchemy_Flask Security - Fatal编程技术网

Flask security delete用户返回错误

Flask security delete用户返回错误,flask,flask-sqlalchemy,flask-security,Flask,Flask Sqlalchemy,Flask Security,我正在尝试在flask应用程序的用户管理页面上添加删除按钮 但当我点击按钮时,我已经出现了这个错误: sqlalchemy.orm.exc.UnmappedInstanceError: Class 'builtins.str' is not mapped 这是我的adminusers.html文件: {% extends 'base.html' %} {% block main %} <main> <table class="table table-stripe

我正在尝试在flask应用程序的用户管理页面上添加删除按钮

但当我点击按钮时,我已经出现了这个错误:

sqlalchemy.orm.exc.UnmappedInstanceError: Class 'builtins.str' is not mapped
这是我的adminusers.html文件:

{% extends 'base.html' %}
{% block main %}
<main>
  <table class="table table-striped users">
    <thead>
      <tr>
        <th scope="col">#</th>
        <th scope="col">Name</th>
        <th scope="col">Email</th>
        <th scope="col">Roles</th>
        <th scope="col" class="text-center">Delete</th>
      </tr>
    </thead>
    <tbody>
    {% for user in users %}
      <tr>
        <th scope="row">{{ user.id }}</th>
        <td>{{ user.name }}</td>
        <td>{{ user.email }}</td>
        <td>
          {% for role in user.roles %}
            {{role.name}};
          {% endfor %}
        </td>
        <td style="text-align: center;"><a href="{{ url_for('delete_user', user=user) }}" style="color:red" ><i class="fas fa-times"></i></a></td>
      </tr>
    {% endfor %}
    </tbody>
  </table>
</main>
{% endblock main %}
{%extends'base.html%}
{%block main%}
#
名称
电子邮件
角色
删除
{users%%中的用户为%s}
{{user.id}
{{user.name}
{{user.email}
{user.roles%%中角色的%s}
{{role.name}};
{%endfor%}
{%endfor%}
{%endblock main%}
和我的app.py文件:

@app.route('/adminusers')
def list_users():
    users= User.query.all()
    return render_template('adminusers.html', users=users)

@app.route('/delete_user/<user>')
def delete_user(user):
    user_datastore.delete_user(user=user)
    db.session.commit()
    return redirect(url_for('adminusers'))
@app.route(“/adminusers”)
def list_用户():
users=User.query.all()
返回呈现模板('adminusers.html',users=users)
@app.route(“/delete_user/”)
def delete_用户(用户):
用户\数据存储。删除\用户(用户=用户)
db.session.commit()
返回重定向(url_用于('adminusers'))

我正在尝试使用“email”或“name”,但它已经返回了一个错误

谢谢@pjcunningham,就像它可以工作一样:

@app.route('/delete_user/<id>')
def delete_user(id):
    user = user_datastore.get_user(id)
    user_datastore.delete_user(user)
    db.session.commit()
    return redirect(url_for('adminusers'))
@app.route('/delete_user/'))
def delete_用户(id):
用户=用户\数据存储。获取\用户(id)
用户\数据存储。删除\用户(用户)
db.session.commit()
返回重定向(url_用于('adminusers'))
delete\u user
作为其参数,您传入了一个字符串。