【发布时间】:2018-09-17 11:02:44
【问题描述】:
我正在使用 Django REST 框架,并试图在我的基于类的视图之一中获得这样的用户:
class ListPDF(PDFTemplateView):
"""
Return a PDF
"""
permission_classes = (IsAuthenticated,)
template_name = 'pdf.html'
def get_context_data(self, **kwargs):
user = User.objects.get(id=self.request.user.id)
但由于某种原因,我不断收到错误User matching query does not exist。我正在使用rest_framework.authtoken 进行身份验证。
我进行了调查,当我不通过管理部分登录时,即使用户令牌随请求一起发送,用户也是匿名的。如何在此视图中获取用户对象?
**更新
我找到this answer:
from rest_framework.authtoken.models import Token
user = Token.objects.get(key='token string').user
但是有没有更简单的方法来获取用户?
【问题讨论】:
-
我们可以通过
self.request.user访问登录用户。无需查询。
标签: python django django-rest-framework django-views django-class-based-views