【发布时间】:2015-12-24 03:28:50
【问题描述】:
来自 express.js 背景,我非常习惯方法覆盖中间件,它使您能够通过隐藏的输入标签处理非浏览器支持的 HTTP 动词(例如 PUT、DELETE 等)。
例如)
<input type="hidden" name="_method" value="PUT">
如何在 Flask 中模仿这个中间件? 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/
【问题讨论】:
标签: python flask hidden-field