2012-08-10 19 views
93

Estoy usando django-rest-framework. Proporciona una asombrosa API autodocumentable navegable de estilo administrador de Django. Pero cualquiera puede visitar esas páginas y usar la interfaz para agregar datos (POST). ¿Cómo puedo desactivarlo?Cómo deshabilitar la interfaz explorable de estilo de administración de django-rest-framework?

+0

Sí, los usuarios pueden acceder y utilizar la API. Pero no quiero mostrarles la página navegable de estilo administrador. – iForests

+0

Tengo el mismo problema, también. Estoy de acuerdo con la solución a hacer. Seguro que resolverá mi problema. –

Respuesta

164

Solo necesita eliminar el representador API navegable de su lista de procesadores admitidos para la vista.

Usted puede hacer esto a nivel mundial, así:

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

o sobre una base per-view de este modo:

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

Aparte: En muchos casos, creo que es una pena que la gente elegiría desactivar la API navegable en cualquier caso, ya que es una gran ayuda para los desarrolladores que trabajan en la API, y no les da más permisos que de otra manera tendrían. Veo que puede haber razones comerciales para hacerlo en algunos casos, pero en general lo consideraría un gran activo.

+18

'es una gran ayuda para cualquier desarrollador que trabaje en la API'. ¿No deberían tener archivos de configuración para desarrollo y producción? En desarrollo, habilite la API navegable. –

+7

@JacobValenta I * think * Tom Christie significa que los desarrolladores de terceros que usan su API deberían poder utilizar la API navegable. –

+1

Sí, según @DustinWyatt –

-1

Retire la 'rest_framework.renderers.BrowsableAPIRenderer', del 'DEFAULT_RENDERER_CLASSES' en la configuración de

Cuestiones relacionadas