繁体   English   中英

Django其余框架; 向经过身份验证的用户和匿名用户显示不同的内容

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM