django - 如何从 vue.js 中的请求中获取 DRF 中的 self.request.user?
问题描述
如何从 vue.js 中的请求中获取 DRF 中的 self.request.user?
我的请求来自.vue
:
async LoadCase() {
this.case = await fetch(
`${this.$store.getters.getServerUrl}/casedetail/${this.slug}`
).then(response => response.json())
}
我的班级views.py
:
class DetailCase(RetrieveAPIView):
queryset = Case.objects.all()
serializer_class = CaseDetalSerializers
lookup_field = "slug"
我的班级serializers.py
:
class CaseDetalSerializers(serializers.ModelSerializer):
possible_open = serializers.SerializerMethodField()
class Meta:
model = Case
exclude = ("id","slug")
def get_possible_open(self,case):
request = self.context.get('request')
print(request)
print(request.user)
我从中得到什么print
:
<rest_framework.request.Request: GET '/api/v1/casedetail/rofl'>
AnonymousUser
现在由于某种原因我得到了 AnonymousUser,我应该得到管理员。我该怎么做才能得到它?
解决方案
您好,您应该为您的 API 使用一种身份验证方法来获取用户,否则它将是一个 AnonymousUser 对象。
这是一个简单的 jwt 身份验证示例 https://simpleisbetterthancomplex.com/tutorial/2018/12/19/how-to-use-jwt-authentication-with-django-rest-framework.html
推荐阅读
- python - Pandas:如何仅删除列末尾的最后一个连字符
- google-forms - 如何根据其他用户过去的回复使 Google 表单自动填充?
- c - 我知道一个地址,但我应该如何判断在哪个部分?使用C的全局区域或堆区域或堆栈区域
- json - 如何解决“手势 RangeError(索引)捕获的异常:无效值:有效值范围为空:0”
- c++ - 什么会使多边形算法中的点仅在正向和反向运行时才能正常工作?
- php - PHP:如何使用键->值对每两个分隔符将一个字符串分解为一个数组
- kubernetes - 将 GKE 集群拆除为“全新”状态而不删除它?
- scala - Spark——自定义reduce函数保存到磁盘然后上传到s3
- javascript - XMLHttpRequest 返回事件对象而不是实际数据
- fortran - Fortran 将未知大小的文件读入数组