2012-08-10 73 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

在設置