Ich weiß, dass Response
ist, was Flask standardmäßig für HTTP-Antworten verwendet. Für spezifische Antwortformate verwende ich normalerweise make_response
. Gibt es spezielle Fälle, in denen wir flask.Response
anstelle von flask.make_response
verwenden müssen? mit anderen Worten, funktioniert flask.make_response
in allen Situationen oder manchmal flask.Response
ist die einzige oder die bessere Alternative? Vielen Dank!Flask Response vs Flask make_response
Antwort
make_response()
gibt Ihnen eine Bequemlichkeit Schnittstelle, eine, die Argumente in mehr Formate nehmen als die flask.Response()
Aufgabe übernimmt.
Darüber hinaus verwendet make_response()
das Flask.response_class
Attribut (also app.response_class
), um die Antwort zu erstellen. Der Standard Wert für Flask.response_class
ist flask.Response
, aber Sie können diesen Wert auf eine Unterklasse stattdessen festlegen.
So sollten Sie wirklich immer make_response()
verwenden, anstatt verwenden flask.Response()
direkt, vor allem, wenn Sie Auslagern unterstützen wollen, was Response
Klasse, die Sie tatsächlich für Antworten verwenden.
Sie kann haben app.response_class
direkt zu verwenden, wenn es sich um eine Unterklasse, die Argumente übernimmt, ist, dass make_response()
nicht liefern kann.
- 1. Wie setze ich Response-Header in Flask?
- 2. Flask MethodView vs Flask-Restful Ressource
- 3. Flask: Wie Cookies entfernen?
- 4. Flask-Session Erweiterung vs Standardsitzung
- 5. Test Flask mit Flask-Testing
- 6. Flask CORS und Flask Limiter
- 7. Python Flask: Route vs add_url_rule, SSE
- 8. Wie Flask-SocketIO Flask-SocketIO
- 9. Statische Dateien in Flask - robot.txt, sitemap.xml (mod_wsgi)
- 10. Cache in Flask deaktivieren
- 11. Flask Error json nicht serialisiert
- 12. URL für Flask GET vs POST
- 13. flask: wsgi-middleware vs before_ und after_request()
- 14. Holen Sie Daten von make_response() und konvertieren in JSON
- 15. Interner Server Fehler Flask
- 16. Schreiben einer CSV aus dem Flask-Framework
- 17. DatePickerWidget mit Flask, Flask-Admin und WTforms
- 18. Select2-Feldimplementierung in flask/flask-admin
- 19. Verwenden von Flask-SQLAlchemy ohne Flask
- 20. Flask-auth, Principal and Flask Sicherheit
- 21. Flask - WSGI - Kein Modul namens 'flask'
- 22. Flask ('Anwendung') im Vergleich zu Flask (__ name__)
- 23. Flask-Admin und Flask-Security einrichten
- 24. Kombinieren von Flask Blueprints mit Flask-JWT
- 25. Flask-Testing und Flask-SQLAlchemy: first_or_404()
- 26. Flask-Server mit MongoDB (flask-pymongo)
- 27. Zurückgeben einer PDF aus S3 in Flask
- 28. Python - Flask Validate SelectField
- 29. Formularüberprüfungsnachricht wird nicht angezeigt - Flask
- 30. Facebook Messenger mit Flask
Vielen Dank für diese nützliche Antwort. Ich würde es begrüßen, wenn Sie ein Beispiel geben können, wenn ich 'app.response_class' verwenden muss, das Sie im letzten Teil Ihrer Antwort erwähnt haben. – ettanany
@ettanany: Nun, 'Response()' benötigt spezifische Argumente, die 'make_response()' normalerweise liefern kann. Wenn Sie jedoch eine Unterklasse erstellen, die mehr Argumente benötigt, weiß 'make_response()' nichts darüber. Das ist also ein Grund, die Klasse direkt zu benutzen, der einzige Grund, an den ich hier denken kann. –
Ich verstehe. Vielen Dank! – ettanany