【问题标题】:How to use custom Django backend?如何使用自定义 Django 后端?
【发布时间】:2017-02-07 23:27:39
【问题描述】:

我正在 Django 中开发一个应用程序,它使用现有数据库和创建的用户。 我将数据库配置参数设置为 PostgreSQL 服务器,并通过“连接”库执行自定义查询。

当我想使用自己的表对用户进行身份验证时,问题就来了。我看到了许多教程和博客文章,并重写了我的身份验证后端。但是当我想使用自己的表来验证用户和设置会话时,Django 的框架只允许我使用 User 对象。

我认为这些对象链接到数据库中的 Django 表,当我想要验证用户身份时,会显示一条消息,说关系“auth_user”不存在。这意味着用户对象链接到此表。

是否存在某种方法可以将我自己的表与 Django 身份验证后端一起使用,或者我应该使用它吗?

【问题讨论】:

    标签: python django postgresql authentication backend


    【解决方案1】:

    将自定义 Django 模型与现有 Django 登录后端一起使用

    AUTH_USER_MODEL = 'myapp.MyUser'

    Django docs

    使用自定义 Django 身份验证后端

    AUTHENTICATION_BACKENDS = 'myBackend'

    Django docs

    【讨论】:

    • 我自己发现了它,但它不像我想要的那样灵活。事实上,如果我使用字段电子邮件、密码指定 AUTH_USER_MODEL='myUser'。在数据库中,Django 创建一个包含字段 id、last_login、email 和密码的表。我想要做的是省略 id 和 last_login 并将电子邮件设置为主键。 @iklinac 您的回答是正确的,但我正在尝试纠正我的应用程序的这一方面。有什么建议吗?
    猜你喜欢
    • 2013-05-05
    • 2012-05-06
    • 1970-01-01
    • 2012-05-18
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    相关资源
    最近更新 更多