python - 如何使用 django-allauth 访问用户名和配置文件

标签 python django oauth django-authentication

我将 Django 与 django-allauth 一起用于社交身份验证。

我已启动并运行身份验证,但任何人都可以提供简单的示例来说明如何:

  • 显示登录用户的姓名和头像
  • 向用户帐户添加一些信息?

例如,在主页上,我有

{% if user.is_authenticated %}
<li><a href="{% url account_logout %}?next=/">Logout</a></li>
{% endif %}

这正确显示了注销链接,但我该如何添加用户名和头像?

类似于(伪代码):

<p>You're logged in with {{ user.account_provider? }} as {{ user }}.</p>
<img src="{{ user.avatar_url }}" />

然后,如果我想向用户的配置文件添加额外的属性,我该怎么做?我应该使用其他一些与 Django 用户相关的应用程序吗?

感谢您的帮助。

最佳答案

SocialAccount 模型实例可供使用其社交帐户注册的用户使用。

在你的模板中,你可以简单地写:

头像网址: {{ user.socialaccount_set.all.0.get_avatar_url }}
UID: {{ user.socialaccount_set.all.0.uid }}
加入日期: {{ user.socialaccount_set.all.0.date_joined}}
上次登录: {{ user.socialaccount_set.all.0.last_login}}

对于全名:{{ user.socialaccount_set.all.0.extra_data.name }}

更多信息:Django allauth source

关于python - 如何使用 django-allauth 访问用户名和配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477530/

相关文章:

mysql - 为什么执行 2 个查询而不是一个?

Android:在 Volley 请求中生成 Oauth1 签名

python - 如何忽略元组中元素的顺序

python - 在哪里可以找到 Python 类?

python - 在 Python 中读取二进制数据 (ieee-le)

php - 将 URL 转换为屏幕截图(脚本)

django - Django 1.5自定义用户模型错误。 “经理不可用;用户已被交换”

python - 你能用排序加速 python 中的 "for "循环吗?

java - 如何在 Nimbus JOSE + JWT 中验证 token 签名

oauth - Google 身份服务之间的关系 - 使用 Google 登录和 Google API 的用户授权