2012-08-10 72 views
93

我正在使用django-rest-framework。它提供了一个令人敬畏的Django管理样式可浏览的自我记录API。但任何人都可以访问这些页面并使用该界面添加数据(POST)。我该如何禁用它?如何禁用django-rest-framework的管理式浏览界面?

+0

是取下'DEFAULT_RENDERER_CLASSES''rest_framework.renderers.BrowsableAPIRenderer', ,用户可以登录并使用API​​。但我不想向管理员显示可浏览的页面。 – iForests 2012-08-15 07:25:37

+0

我也有同样的问题。我根据要做的解决方案。这肯定能解决我的问题。 – 2015-06-29 03:13:42

回答

164

您只需从视图支持的渲染器列表中删除可浏览的API渲染器。

可以在全局做到这一点,像这样:

REST_FRAMEWORK = { 
    'DEFAULT_RENDERER_CLASSES': (
     'rest_framework.renderers.JSONRenderer', 
    ) 
} 

或每个视图基础上,像这样:

class MyView(...): 
    renderer_classes = [renderers.JSONRenderer] 

除了:在许多情况下,我认为这是一个耻辱,伙计在任何情况下都会选择禁用可浏览的API,因为这对于任何开发API的开发人员来说都是一个很大的帮助,并且不会给予他们更多的权限,否则他们会拥有。我可以看到,在一些的情况下,这样做可能有商业上的理由,但通常我会认为它是一个巨大的资产。

+18

'这对任何开发API的开发者来说都是一大帮助。他们不应该有开发和生产的设置文件吗?在开发中启用可浏览的API。 – 2014-02-13 16:39:05

+7

@JacobValenta我认为* Tom Christie意味着使用API​​的第三方开发人员应该能够使用可浏览的API。 – 2014-03-25 17:19:57

+1

是@DustinWyatt – 2014-03-27 12:09:05

-1

在设置