2011-10-19 18 views
65

Estamos usando Flask para una de nuestras API y me preguntaba si alguien sabía cómo devolver una respuesta HTTP 201?Devuelve el código de estado HTTP 201 en el matraz

Para los errores tales como 404 que podemos llamar:

from flask import abort 
abort(404) 

Pero para 201 consigo

LookupError: no exception for 201

¿Es necesario crear mi propia excepción como this en la documentación?

+6

'return '', 201' – Luc

Respuesta

85

Usted puede leer sobre él here.

return render_template('page.html'), 201 
15

Como carece sugirió código de estado de envío en sentencia de retorno y si está almacenando en alguna variable como

notfound = 404 
invalid = 403 
ok = 200 

y el uso de

return xyz, notfound 

que el tiempo asegúrese de que su tipo es int no str como me enfrenté a este pequeño problema También aquí está la lista de código de estado a nivel mundial siguió http://www.w3.org/Protocols/HTTP/HTRESP.html

espero que ayude.

0

En su código frasco, lo ideal sería especificar el tipo MIME tan a menudo como sea posible, así:

html_page_str de retorno, 200, { 'ContentType': 'text/html'}

retorno JSON .dumps ({ 'éxito': true}), 200, { 'ContentType': 'application/json'}

... etc

9

puede utilizar Respuesta a devolver cualquier código de estado HTTP.

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