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