Django Rest Framework - 端点的最佳方式?

时间:2016-09-05 19:23:44

标签: django django-rest-framework

我正在学习Django + DRF + React,并且我已经到了保护某些端点的阶段。有些更容易保护,只是一个权限,因此只有创建特定对象(和管理员)的用户才能看到它。有一个端点对我来说很棘手。这是一个GET调用并返回类似的内容:

{book: "Who am I and how come",
 id: "whatever31",
 reading: ["user1", "user2"]}

我想根据发出请求的用户(会话身份验证)来保护此端点,因此只有来自user1user2的来电才能访问此对象(同样,不会公开reading领域,但这可能是一个不同的讨论)。我应该在DRF视图上使用自定义权限吗?我应该在queryset方法中使用过滤器吗?也许两者都是?

1 个答案:

答案 0 :(得分:1)

自定义权限就像创建装饰器一样,它们都符合您的需要:

import wx

class MyGetPath: # use CamelCase names for classes

    @staticmethod
    def get_path(wildcard):
        app = wx.App(None)
        style = wx.FD_OPEN | wx.FD_FILE_MUST_EXIST

        dialog = wx.FileDialog(None, 'Open', wildcard=wildcard, style=style)

        if dialog.ShowModal() == wx.ID_OK:
            path = dialog.GetPath()
        else:
            path = None

        dialog.Destroy()

        return path

result = MyGetPath.get_path('*.txt')

print(result)