來自express.js背景,我非常習慣使用方法重寫中間件,它使您能夠通過隱藏的輸入標記處理非瀏覽器支持的HTTP動詞(例如,PUT,DELETE等)。如何在Flask中處理來自瀏覽器的放入請求?
前)
<input type="hidden" name="_method" value="PUT">
如何模仿這種中間件瓶? Flask不會自動處理這些隱藏的輸入,所以我無法處理GET或POST以外的請求。我的代碼片段可以在下面找到。
@blueprint.route('/news/<int:article_id>', methods=['GET','PUT','DELETE'])
def article(article_id):
if is_logged_in() and is_admin():
if request.method == 'PUT':
#do something
<form action="/news/{{ post.id }}" method="post">
{{ form.hidden_tag() }}
<input type="hidden" name="_method" value="PUT">
{{ form.title.label }} {{ form.title }}
{{ form.body.label }} {{ form.body }}
{{ form.submit }}
</form>
編輯:找到了解決辦法: http://flask.pocoo.org/snippets/38/