2012-08-10 8 views
93

Ich verwende django-rest-framework. Es bietet eine beeindruckende Django Admin-Stil Browsable Self-Documenting API. Aber jeder kann diese Seiten besuchen und die Schnittstelle verwenden, um Daten hinzuzufügen (POST). Wie kann ich es deaktivieren?Wie deaktiviert man die Browsable-Oberfläche im Admin-Stil von django-rest-framework?

+0

Ja, können Benutzer anmelden und die API verwenden. Aber ich möchte ihnen nicht die browseable Seite im Admin-Stil zeigen. – iForests

+0

Ich habe das gleiche Problem auch. Ich bin nach der Lösung zu tun. Es ist sicher, mein Problem zu lösen. –

Antwort

164

Sie müssen nur den durchsuchbaren API-Renderer aus Ihrer Liste der unterstützten Renderer für die Ansicht entfernen.

Sie können dies wie so global tun:

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

oder auf einer per-View-Basis wie folgt:

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

Neben: In vielen Fällen denke ich, es ist eine Schande, dass Leute würde die browsable API in jedem Fall deaktivieren, da es eine große Hilfe für alle Entwickler ist, die an der API arbeiten, und es ihnen nicht mehr Berechtigungen gibt, die sie ansonsten hätten. Ich kann sehen, dass es in einige Fälle geschäftliche Gründe dafür geben könnte, aber im Allgemeinen würde ich es einen riesigen Aktivposten betrachten.

+18

'es ist eine große Hilfe für alle Entwickler, die an der API arbeiten'. Sollten sie keine Einstellungsdateien für Entwicklung und Produktion haben? Aktivieren Sie in der Entwicklung die durchsuchbare API. –

+7

@JacobValenta I * denke * Tom Christie bedeutet, dass Drittanbieter-Entwickler, die Ihre API verwenden, in der Lage sein sollten, die durchsuchbare API zu verwenden. –

+1

Yup, wie per @DustinWyatt –

-1

Entfernen Sie die 'rest_framework.renderers.BrowsableAPIRenderer', vom 'DEFAULT_RENDERER_CLASSES' in Ihren Einstellungen

Verwandte Themen