我用的是django-rest-framework美元.它提供了一个非常棒的Django管理风格、可浏览的self 文档化API.但是任何人都可以访问这些页面并使用界面添加数据(POST).我怎么才能禁用它呢?
我用的是django-rest-framework美元.它提供了一个非常棒的Django管理风格、可浏览的self 文档化API.但是任何人都可以访问这些页面并使用界面添加数据(POST).我怎么才能禁用它呢?
您只需要从视图支持的渲染器列表中删除可浏览的API渲染器.
Generally:个
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
)
}
Per-view basis:个
class MyView(...):
renderer_classes = [renderers.JSONRenderer]
Aside:
在许多情况下,我认为人们在任何情况下都会 Select 禁用可浏览API是一件遗憾的事情,因为它对任何致力于API的开发人员都是一个很大的帮助,而且是doesn't give them more permissions that they would otherwise have.我可以看出,在some个 case 中,这样做可能有商业原因,但一般来说,我会认为这是一笔巨大的assets资源 .Although, in some cases there may be details shown (like the names of custom actions) that a non-public API may not want to expose.个
有关将可浏览API渲染器限制为开发的更多详细信息,请参见the answer below.