我正在尝试在 Jinja 中发出 POST 请求Flask 中的模板.但是,默认情况下参数是通过 GET 传递的,并且这种特定方法只接受 POST 请求。
我尝试指定 _method
,如下所示,但它仍然使用 GET 而不是 POST 传递参数。
<li><a href = "{{ url_for('save_info', _method='POST', filepath=s.name ) }}"><div class="nodes">{{ s.title}} - {{ song.owner }}</div></a></li>
(无论我是否指定_method
,错误信息都是一样的)。
最佳答案
所有链接都是GET
请求。您不能强制执行 POST
。
另一种方法是这样的:
@app.route('/save_info/<filepath>', methods=['GET', 'POST'])
def save_info(filepath):
if request.method == 'POST' or filepath:
...
您必须找到一种好方法来强制您的代码忽略您发送的 GET
请求。
关于python - 在 Flask 中使用 url_for 发出 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9246889/