webentwicklung-frage-antwort-db.com.de

Geben Sie den HTTP-Statuscode 201 in die Flasche zurück

Wir verwenden Flask für eine unserer APIs und ich habe mich nur gefragt, ob jemand wusste, wie eine HTTP-Antwort 201 zurückgegeben wird.

Für Fehler wie 404 können wir Folgendes anrufen:

from flask import abort
abort(404)

Aber für 201 bekomme ich

LookupError: Keine Ausnahme für 201

Muss ich meine eigene Ausnahme wie this in den Dokumenten erstellen?

91
ingh.am

Sie können darüber lesen hier.

return render_template('page.html'), 201
105
Iacks

Mit Response können Sie einen beliebigen HTTP-Statuscode zurückgeben.

> from flask import Response
> return Response("{'a':'b'}", status=201, mimetype='application/json')
48
Yasir

Wenn nicht empfohlen, senden Sie den Statuscode in der return-Anweisung Und wenn Sie ihn in einer Variablen wie speichern 

notfound = 404
invalid = 403
ok = 200

und verwenden

return xyz, notfound

stellen Sie als Zeit sicher, dass der Typ int nicht str ist da ich mit diesem kleinen Problem konfrontiert wurde, folgt hier eine Liste mit Statuscodes http://www.w3.org/Protocols/HTTP/HTRESP.html

Ich hoffe es hilft.

19
Harsh Daftary

Idealerweise sollten Sie den MIME-Typ in Ihrem Flaschencode möglichst oft angeben:

return html_page_str, 200, {'ContentType':'text/html'}

return json.dumps({'success':True}), 200, {'ContentType':'application/json'}

...usw

2
Ben Wheeler

Du kannst tun 

from flask import make_response

result = {'a': 'b'}
return make_response(jsonify(result), 201)

wenn Sie in der Antwort JSON-Daten zusammen mit dem Fehlercode zurückgeben möchten Sie können die Antworten hier und hier für Details zur make_response-API lesen

1
Kishan K