【发布时间】:2021-01-03 11:07:27
【问题描述】:
我使用 Vuejs 作为我的前端,我只想从 Django Rest 获取当前登录用户的 ID 并显示它。我该怎么做?
序列化器
class CustomerSerializer(serializers.ModelSerializer):
class Meta:
model = Customer
fields = '__all__'
查看
class CustomerRetrieveView(generics.RetrieveAPIView):
queryset = Customer.objects.all()
serializer_class = CustomerSerializer
class CustomerUpdateView(generics.UpdateAPIView):
queryset = Customer.objects.all()
serializer_class = CreateCustomerSerializer
permission_class = permissions.IsAuthenticatedOrReadOnly
class CustomerCreateView(generics.CreateAPIView):
queryset = Customer.objects.all()
serializer_class = CreateCustomerSerializer
class CustomerListView(generics.ListAPIView):
queryset = Customer.objects.all()
serializer_class = CustomerSerializer
网址
path('customers/<int:pk>', views.CustomerRetrieveView.as_view()),
path('customers/update/<int:pk>', views.CustomerUpdateView.as_view()),
path('customers/all', views.CustomerListView.as_view()),
path('customers/new', views.CustomerCreateView.as_view()),
脚本vue
update(event) {
event.preventDefault();
this.axios
.post(`http://127.0.0.1:8000/api/v1/customers/new`, {'user': **???**, 'phone': this.phone })
.then(response => {console.log(response) ;this.$router.push('/') })
.catch(err => { console.error(err) })
}
【问题讨论】:
-
您可以在用户登录后存储 JWT 令牌,并将其存储在前端部分的 cookie 和缓存中。而已。在您的后端部分,当用户尝试在那个时间做某事时,您可以检查验证是否为 is_authenticated。
-
如果您还有货,请随时与我的Skype联系:live:.cid.7143e40b271722c1
标签: django vue.js django-rest-framework