2011-10-19 42 views
65

Chúng tôi đang sử dụng Flask cho một trong các API của chúng tôi và tôi đã tự hỏi liệu có ai biết cách trả lại phản hồi HTTP 201 không?Trả lại mã trạng thái HTTP 201 trong bình

Đối với các lỗi như 404 chúng ta có thể gọi:

from flask import abort 
abort(404) 

Nhưng đối với 201 tôi nhận được

LookupError: no exception for 201

Tôi có cần phải tạo ra ngoại lệ của riêng tôi như this trong tài liệu?

+6

'return '', 201' – Luc

Trả lời

85

Bạn có thể đọc về nó here.

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

Như thiếu các gợi ý mã trạng thái gửi lại tuyên bố và nếu bạn đang lưu trữ nó trong một số biến như

notfound = 404 
invalid = 403 
ok = 200 

và sử dụng

return xyz, notfound 

so với thời gian đảm bảo loại của nó là int không str. khi tôi đối mặt với vấn đề nhỏ này cũng ở đây là danh sách mã trạng thái được theo dõi trên toàn cầu http://www.w3.org/Protocols/HTTP/HTRESP.html

Hy vọng điều đó sẽ hữu ích.

0

Trong mã bình của bạn, bạn lý tưởng nên xác định loại MIME càng nhiều càng tốt, cũng như:

trở html_page_str, 200, { 'ContentType': 'text/html'}

trở json .dumps ({ 'thành công': True}), 200, { 'ContentType': 'application/json'}

... vv

9

Bạn có thể sử dụng những đáp ứng cho trả lại bất kỳ mã trạng thái http.

> from flask import Response 
> return Response("{'a':'b'}", status=201, mimetype='application/json') 
Các vấn đề liên quan