将Python Social Auth用户名传递到视图中

将Python Social Auth用户名传递到视图中,python,django,Python,Django,用户可以使用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="

用户可以使用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 %}
错误:

'WSGIRequest' object has no attribute 'username'
我相信这是来自我的
url.py
设置

从django.conf.url导入模式url,包括 从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')
    )

您正在混合上下文变量和Django视图
personalized
是一个Django视图,其参数是一个
请求
对象,而不是您正在执行的
用户

您在模板中获得的
{{user}
是因为它在表示当前登录用户的上下文中添加了
user
变量。由于用户是loggedin,
request.user
属性将设置为登录用户,然后您可以使用
request.user.username
访问
username

def personalised(request): # request object is passed to a view
    username = request.user.username # get the username of logged-in user
    return HttpResponse(username) # return response

您正在混合上下文变量和Django视图
personalized
是一个Django视图,其参数是一个
请求
对象,而不是您正在执行的
用户

您在模板中获得的
{{user}
是因为它在表示当前登录用户的上下文中添加了
user
变量。由于用户是loggedin,
request.user
属性将设置为登录用户,然后您可以使用
request.user.username
访问
username

def personalised(request): # request object is passed to a view
    username = request.user.username # get the username of logged-in user
    return HttpResponse(username) # return response

您正在混合上下文变量和Django视图
personalized
是一个Django视图,其参数是一个
请求
对象,而不是您正在执行的
用户

您在模板中获得的
{{user}
是因为它在表示当前登录用户的上下文中添加了
user
变量。由于用户是loggedin,
request.user
属性将设置为登录用户,然后您可以使用
request.user.username
访问
username

def personalised(request): # request object is passed to a view
    username = request.user.username # get the username of logged-in user
    return HttpResponse(username) # return response

您正在混合上下文变量和Django视图
personalized
是一个Django视图,其参数是一个
请求
对象,而不是您正在执行的
用户

您在模板中获得的
{{user}
是因为它在表示当前登录用户的上下文中添加了
user
变量。由于用户是loggedin,
request.user
属性将设置为登录用户,然后您可以使用
request.user.username
访问
username

def personalised(request): # request object is passed to a view
    username = request.user.username # get the username of logged-in user
    return HttpResponse(username) # return response

我过去喜欢用usernme

def personalised(request):
    current_user = request.user

我过去喜欢用usernme

def personalised(request):
    current_user = request.user

我过去喜欢用usernme

def personalised(request):
    current_user = request.user

我过去喜欢用usernme

def personalised(request):
    current_user = request.user

这不是
user.username
而不是
user.user\u name
?@Anzel-yep很好,已经更新了问题(还是相同的错误)如果那是请求对象,那么应该是
user.user.username
?不是
user.username
而不是
user.user\u-name
?@Anzel-yep很好,更新了问题(仍然是相同的错误)如果这是一个请求对象,那么它应该是
user.user.username
?那不是
user.username
而不是
user.user\u name
?@Anzel yep很好,如果这是一个请求对象,更新了问题(仍然是相同的错误),那么应该是
user.user.username
?不是
user.username
而不是
user.user\u name
?@Anzel-yep很好,已经更新了问题(仍然是相同的错误),如果是请求对象,它应该是
user.user.username
,然后?将视图的参数更改为包含
request
,而不是
user
。效果非常好,感谢您对django.contrib.auth.context\u processors.auth-awesome的解释。将视图的参数更改为包含
request
,而不是
user
。工作正常,感谢您对django.contrib.auth.context\u processors.auth-awesome的解释。将视图的参数更改为包含
request
,而不是
user
。工作正常,感谢您对django.contrib.auth.context\u processors.auth-awesome的解释。更改视图的参数包含
请求
而不是
用户
。非常有效,感谢您在django.contrib.auth.context_processors.auth-awesome上的解释。