首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask-security delete user返回错误

Flask-security delete user返回错误
EN

Stack Overflow用户
提问于 2020-11-26 20:18:34
回答 1查看 135关注 0票数 0

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

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

代码语言:javascript
复制
sqlalchemy.orm.exc.UnmappedInstanceError: Class 'builtins.str' is not mapped

这是我的adminusers.html文件:

代码语言:javascript
复制
{% 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 %}

和我的app.py文件:

代码语言:javascript
复制
@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'))

我正在尝试使用'email‘或'name’,但它已返回错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-27 20:38:17

谢谢@pjcunningham,就像这样:

代码语言:javascript
复制
@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'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65021937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档