禁用Django Silk的特定URL

时间:2018-06-26 10:12:04

标签: django django-silk

我有一个API端点,可以在其中使用多部分请求上传照片。当Silk尝试解析请求时,出现解码错误。

我现在想对某些URL端点禁用Silk。这已经可能了吗?如果是这样,我应该如何配置呢?如果没有,那么完全暂时禁用Silk的最简单方法是什么?

链接到Github问题:https://github.com/jazzband/django-silk/issues/292

1 个答案:

答案 0 :(得分:2)

这还不可能,但是您可以从Silk中间件继承,并使用process_view django中间件方法排除某些视图。例如。 django中基于类的视图具有view_class属性,因此您可以找出中间件中的视图类:

def process_view(request, view_func, view_args, view_kwargs):
    if view_func.view_class == SomeClassBasedView:
        # ignore it
    else:
        return super().process_view(request, view_func, view_args, view_kwargs)

暂时完全禁用Silk的最简单方法是将其从中间件列表中删除。