用户可以使用Python Social Auth登录Facebook
我已经确认,Facebook的数据可以通过在我的一个模板中使用这个来获得
{% if user and not user.is_anonymous %}
<p class="navbar-text"><a href="/recommendations/{{user.username}}">{{ user.username }}!</a></p>
<p class="navbar-text"><a href="/logout">Logout</a></p>
{% else %}
<a href="{% url 'social:begin' 'facebook' %}?next={{ request.path }}"><button type="button" class="btn btn-default navbar-btn">Sign in with Facebook</button></a>
{% endif %}
但是当我试着打电话的时候用户名在下面这样的视图中,它返回一个错误。你知道吗
def personalised(user):
return HttpResponse(user.username)
错误:
'WSGIRequest' object has no attribute 'username'
我相信这是来自我的urls.py
设置
从django.conf.url文件导入模式,url,include 从soundshelterapp导入视图
urlpatterns = patterns('soundshelterapp.views',
url(r'^$', views.home, name='home'),
url(r'^personalised$', views.personalised, name='name'),
url(r'^social/', include('social.apps.django_app.urls', namespace='social')),
url(r'^login/$', 'login',name='login'),
url(r'^logout/$', 'logout',name='logout')
)
我以前喜欢用usernme
您混合了上下文变量和Django视图。
personalised
是Django视图,它的参数是request
对象,而不是您正在执行的user
。你知道吗模板中的} 在表示当前登录用户的上下文中添加了
{{user}}
是因为^{user
变量。由于用户是loggedin,request.user
属性将设置为已登录的用户,然后您可以使用request.user.username
访问username
。你知道吗相关问题 更多 >
编程相关推荐