簡體   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