Django-rest-framework: 在可浏览的 api 中禁用过滤

创建于 2015-12-21  ·  3评论  ·  资料来源: encode/django-rest-framework

过滤我的可浏览 api 会泄露我客户的信息,因此我想禁用它,就像我对可浏览 API 中的表单所做的那样。

有谁知道如何做到这一点?

最有用的评论

任何正在寻找如何做到这一点的人,您都可以覆盖to_html方法并注册您的自定义过滤器后端而不是 DRF 后端。

```python.py
类 DisabledHTMLFilterBackend(filters.DjangoFilterBackend):

def to_html(self, request, queryset, view):
    return ""

```

另请参阅:问题 #3905

所有3条评论

我是代码新手,你能发布一些示例代码吗?

任何正在寻找如何做到这一点的人,您都可以覆盖to_html方法并注册您的自定义过滤器后端而不是 DRF 后端。

```python.py
类 DisabledHTMLFilterBackend(filters.DjangoFilterBackend):

def to_html(self, request, queryset, view):
    return ""

```

另请参阅:问题 #3905

谢谢!

这就是我现在的样子(注意后两者已被评论):

'DEFAULT_FILTER_BACKENDS': (
    'framework.api.filters.DisabledHTMLFilterBackend',
    'framework.api.filters.DjangoObjectPermissionsFilter',
    #'rest_framework_filters.backends.DjangoFilterBackend', # not used! 
    #'rest_framework.filters.DjangoFilterBackend',
此页面是否有帮助?
0 / 5 - 0 等级