在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 然后,您可以在模板中注入要显示的数据 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |