我已经成功地使用Social-Auth-App-Django登录了我的facebook帐户。现在我需要获取我的用户ID,这样我就可以使用该用户的ID来过滤数据库,但是我不知道该怎么做。在django模板中,它看起来像这样的{{ user.id }},但我不知道如何在views.py中获取它
以下是我用于登录facebook的模板代码
<a href="{% url 'social:begin' 'facebook' %}" class='btn'>
<img src="/static/img/facebook.png" alt="">
Login with Facebook
</a>下面是我用views.py编写的代码
@login_required
def home(request):
items = Products.objects.filter(product_owner__id=user_id)
return render(request, 'seller.html', {
"items": items
})user_id才是我真正需要的。
提前感谢!
发布于 2020-06-23 16:41:03
你这样做的方式应该是;
@login_required
def home(request):
items = Products.objects.filter(product_owner=request.user)
return render(
request,
'seller.html',
{
"items": items
}
)但是,如果您没有login_required装饰器,这将无法工作。在这种情况下,您必须检查它们是否经过身份验证。
这种情况看起来更像是;
def home(request):
if request.user.is_authenticated:
items = Products.objects.filter(product_owner=request.user)
else:
items = Products.objects.none()
return render(
request,
'seller.html',
{
"items": items
}
)与此相关的文档可在此处找到;https://docs.djangoproject.com/en/3.0/topics/auth/default/#authentication-in-web-requests
https://stackoverflow.com/questions/62530584
复制相似问题