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?
Antwort
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.
'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. –
@JacobValenta I * denke * Tom Christie bedeutet, dass Drittanbieter-Entwickler, die Ihre API verwenden, in der Lage sein sollten, die durchsuchbare API zu verwenden. –
Yup, wie per @DustinWyatt –
Entfernen Sie die 'rest_framework.renderers.BrowsableAPIRenderer',
vom 'DEFAULT_RENDERER_CLASSES'
in Ihren Einstellungen
- 1. Wie deaktiviert man die Schaltfläche + (hinzufügen) im Detailraster?
- 2. Wie deaktiviert man xdebug im Skript?
- 3. Wie deaktiviert man die Schaltfläche "Maximieren" im Delphi-Programm?
- 4. Wie deaktiviert man vergangene Daten von heute im bootstrap datetimepicker?
- 5. GenericForeignKey, ContentType und DjangoRestFramework
- 6. Wie deaktiviert man die automatische Autovervollständigung von Firefox ohne Änderungsereignisse?
- 7. Wie deaktiviert man die Checkbox in PHP?
- 8. Wie deaktiviert man die "Auto Format" -Funktion von VisualStudio2008 Editor?
- 9. Intellij, wie deaktiviert man die unglaublich langsame Animation von Werkzeugfenstern
- 10. Wie deaktiviert man die Auswahl von DropDownList ASP.NET MVC?
- 11. symfony 3 wie man den Eingang im Controller deaktiviert
- 12. wxpython - Wie man Tasten deaktiviert, wenn etwas im Programm passiert?
- 13. Wie deaktiviert man eine Schaltfläche im Bootstrap für Checkboxen?
- 14. Wie überprüft man die Verfügbarkeit von Ports im clientseitigen JavaScript?
- 15. Wie wird die automatische Korrektur im iOS Simulator dauerhaft deaktiviert?
- 16. xcode 6.1 wie man die Optimierung deaktiviert (Swift)
- 17. Wie kann die Schriftartglättung im Visual Studio-Editor deaktiviert werden?
- 18. Wie deaktiviert man die Cout-Ausgabe in der Laufzeitumgebung?
- 19. UIWebView - Wie man Aktionsblätter (UIActionSheet) deaktiviert?
- 20. Wie deaktiviert man Multi-Touch auf UIPageViewController?
- 21. Wie deaktiviert man die PHP-Validierung in Visual Studio Code?
- 22. Wie deaktiviert wysihtml5 HTML-Bereinigung im Editor?
- 23. Wie können Menüelemente im ContextMenuStrip deaktiviert werden?
- 24. DjangoRestFramework - Null-Felder auslassen, wenn Objekte
- 25. Wie deaktiviert man die zweite Hoverinfo in R Plotly?
- 26. Serialisieren in mehrere Modelle mit DjangoRestFramework
- 27. djangorestframework: Filtern in einem verwandten Feld
- 28. Wie man einen Nachrichten-Listener vorübergehend deaktiviert
- 29. Wie kann die automatische Änderung von Tabulatoren in Leerzeichen im Code in Intellij Idea deaktiviert werden?
- 30. Python-Vererbung - wie man eine Funktion deaktiviert
Ja, können Benutzer anmelden und die API verwenden. Aber ich möchte ihnen nicht die browseable Seite im Admin-Stil zeigen. – iForests
Ich habe das gleiche Problem auch. Ich bin nach der Lösung zu tun. Es ist sicher, mein Problem zu lösen. –