【问题标题】:Associating auth_user with a model user in django将 auth_user 与 django 中的模型用户相关联
【发布时间】:2012-12-04 17:05:19
【问题描述】:

我正在 django 中创建一个最终将允许用户发布图片的应用程序。图片包含用户的外键。

我希望能够像上面那样将 User 类作为模型类来操作,但我也希望它能够提供 django-registration/auth 目前正在处理的授权等功能。

所以基本上我有两个课程;我自己的 User 类和 auth_user 类,每个类在 sqlite 中都有自己的表。

我应该如何将两者联系起来?我应该使用 OneToOne 字段还是应该扩展 auth_user 类以包含模型 User 类的所有功能?

【问题讨论】:

    标签: django django-authentication django-registration


    【解决方案1】:

    我相信这就是您正在寻找的:

    https://docs.djangoproject.com/en/1.4/topics/auth/#auth-profiles

    你需要在你的 settings.py 文件中指定你的自定义类,比如:

    AUTH_PROFILE_MODULE = 'accounts.UserProfile'
    

    希望对您有所帮助。

    【讨论】:

    • 太好了。问题,不过。如果我遵循该链接中的“create_user_profile”位,它会在 django-registration 创建用户时自动创建用户配置文件吗?如果没有,我该怎么做?我真的是 django 的新手。
    • 另外,什么是“post_save.connect”部分?在上下文中我真的不明白。
    • 您只需要create_user_profile,如果您想创建一个不存在的配置文件。就个人而言,我没有实现这一点。至于post_save.connect,它只是在保存用户帐户后调用的回调。同样,并非每个应用程序都必须这样做,但如果您想在保存帐户后发送电子邮件,则可以将其放在那里。
    • 这是否意味着,如果没有 create_user_profile(或使用它,无论哪种方式),在创建用户时将使用默认设置自动创建一个新的 UserProfile?
    • 不完全。如果您没有定义create_user_profile,那么如果您尝试获取用户XYZ 的配置文件,您将获得一个无对象。如果您确实定义了该函数,那么它将为您创建用户 XYZ 的默认配置文件。
    猜你喜欢
    • 2013-12-10
    • 2014-09-17
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    相关资源
    最近更新 更多