[英]Django rest-framework; show different content to authetificated and anonymous users
我尝试为Django 2实现rest_framework。我有一个URL,该URL应该为经过身份验证的用户显示不同的内容。 匿名用户将只获得有限的视图,经过身份验证的用户将看到所有内容。 在文档中,我只能拒绝所有内容的方法,而不能拒绝if else子句。 基本上我尝试这样的事情:
class StoryViewSet(viewsets.ModelViewSet):
if IsAuthenticated == True:
queryset = Story.objects.all()
else:
queryset = Story.objects.filter(story_is_save=True)
serializer_class = StorySerializer
显然,IsAuthenticated不是我可以查询的True / False语句。 有什么想法可以轻松实现吗?
谢谢
您需要重写get_queryset
方法:
class StoryViewSet(viewsets.ModelViewSet):
serializer_class = StorySerializer
def get_queryset(self):
if self.request.user.is_authenticated():
queryset = Story.objects.all()
else:
queryset = Story.objects.filter(story_is_save=True)
return queryset
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.