Ric*_*ard 8 python django oauth django-authentication
我正在使用Django和django-allauth进行社交认证.
我已经启动并运行身份验证,但是任何人都可以举例说明如何:
例如,在主页上,我有
{% if user.is_authenticated %}
<li><a href="{% url account_logout %}?next=/">Logout</a></li>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
这正确地显示了Logout链接,但是我如何添加用户的名字和头像?
像(伪代码)的东西:
<p>You're logged in with {{ user.account_provider? }} as {{ user }}.</p>
<img src="{{ user.avatar_url }}" />
Run Code Online (Sandbox Code Playgroud)
然后,如果我想为用户的个人资料添加额外的属性,我该怎么办?我应该使用其他一些Django用户相关的应用程序吗?
谢谢你的帮助.
一个SocialAccount模型实例是供谁注册时使用他们的社交帐户的用户。
在您的模板中,您可以简单地编写:
头像 URL: {{ 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 源
如果你看一下django-allauth来源https://github.com/pennersr/django-allauth/blob/master/allauth/socialaccount/models.py#L7
这是一个抽象模型,表示所有其他特定服务模型具有的所有方法.因此你可以写
<p>You're logged in with {{ user.get_provider }} as {{ user }}.</p>
<img src="{{ user.get_avatar_url }}" />
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           7255 次  |  
        
|   最近记录:  |