加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Django模板中使用来自python-social-auth的extra_data

发布时间:2020-12-20 13:15:00 所属栏目:Python 来源:网络整理
导读:我正在使用 python-social-auth从LinkedIn登录我自己的Web应用程序. 我成功登录并重定向到我的主页. 下一步是利用额外数据(即UserSocialAuth.extra_data).任何人都可以举例说明如何访问Django模板或Django视图中的额外数据? 这是我的设置. SOCIAL_AUTH_LOGI
我正在使用 python-social-auth从LinkedIn登录我自己的Web应用程序.
我成功登录并重定向到我的主页.
下一步是利用额外数据(即UserSocialAuth.extra_data).任何人都可以举例说明如何访问Django模板或Django视图中的额外数据?

这是我的设置.

SOCIAL_AUTH_LOGIN_URL = ''

SOCIAL_AUTH_PIPELINE = (
'social.pipeline.social_auth.social_details','social.pipeline.social_auth.social_uid','social.pipeline.social_auth.auth_allowed','social.pipeline.social_auth.social_user','social.pipeline.user.get_username','social.pipeline.user.create_user','social.pipeline.social_auth.associate_user','social.pipeline.social_auth.load_extra_data','social.pipeline.user.user_details'
)

SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE = ['r_basicprofile','r_emailaddress','rw_company_admin','w_share']
SOCIAL_AUTH_LINKEDIN_OAUTH2_FIELD_SELECTORS = ['first-name','last-name','email-address','headline']

SOCIAL_AUTH_LINKEDIN_OAUTH2_EXTRA_DATA = [('id','id'),('first-name','first_name'),('last-name','last_name'),('email-address','email_address'),('headline','headline'),('industry','industry')]

我要做的是:

<html><body>Here we go! {{ user.first_name }} {{ user.last_name }}
{{ user.email }}
{{ user.extra_data.headline }}</body></html>

任何评论将非常感谢!

解决方法

您可以像这样访问Django视图中的数据:

if request.user.is_authenticated:
    linkedin_user = request.user.social_auth.get(provider ='linkedin-oauth2')
    extra_data = linkedin_user.extra_data

然后,您可以在模板中注入要显示的数据

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读