【问题标题】:Django Social Auth - Referring to usersocialauth for foreign key in modelDjango Social Auth - 为模型中的外键引用 usersocialauth
【发布时间】:2019-09-09 08:12:24
【问题描述】:

我是第一次使用 social_django 包。该项目只需要通过 Facebook 对应用程序进行身份验证,因此我在我的应用程序中实现了 SOCIAL_AUTH_FACEBOOK 方法,该方法检索用户名、名字、姓氏、电子邮件地址等基本信息。我还通过SOCIAL_AUTH_FACEBOOK_EXTRA_DATA获取用户的Facebook头像。

我想弄清楚如何在我的模型中将 usersocialauth 模型作为父键引用。现在,它将所有内容与auth_user 模型相关联,这不允许我访问模板中的 Facebook 个人资料图片。

这是我目前正在做的事情:

models.py

from social_django import models as oauth_models

class Review(models.Model):
...
author = models.ForeignKey(oauth_models.USER_MODEL, 
    on_delete=models.CASCADE)

我可以通过<p>{{ review.author.name }}</p>访问模板中的基本字段,但是要查看头像,我必须这样做:

{% for author in backends.associated %}
  <img src="{{ author.extra_data.picture.data.url }}" alt="">
{% endfor %}

我想简化这一点,只参考usersocialauth 模型,这样我就可以从模板中的一个位置访问所有数据。

【问题讨论】:

    标签: django python-social-auth


    【解决方案1】:

    找到了一个更简单的解决方案。

    我可以与普通用户模型保持 ForeignKey 关系,并在模板中使用author.social_auth.all.0.extra_data.picture.data.url

    【讨论】:

      猜你喜欢
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 2013-12-11
      • 1970-01-01
      • 2012-02-21
      • 1970-01-01
      相关资源
      最近更新 更多