Python 在Flask中发出带有url_的POST请求
我正在尝试在中的模板内发出POST请求。但是,默认情况下,参数是通过GET传入的,并且这个特定的方法只接受POST请求 我尝试指定Python 在Flask中发出带有url_的POST请求,python,http-post,flask,jinja2,Python,Http Post,Flask,Jinja2,我正在尝试在中的模板内发出POST请求。但是,默认情况下,参数是通过GET传入的,并且这个特定的方法只接受POST请求 我尝试指定\u方法,如下所示,但它仍然使用GET而不是POST传递参数 <li><a href = "{{ url_for('save_info', _method='POST', filepath=s.name ) }}"><div class="nodes">{{ s.title}} - {{ song.owner }}</div&
\u方法
,如下所示,但它仍然使用GET而不是POST传递参数
<li><a href = "{{ url_for('save_info', _method='POST', filepath=s.name ) }}"><div class="nodes">{{ s.title}} - {{ song.owner }}</div></a></li>
(无论我是否指定方法,错误消息都是相同的。所有链接都是
GET
请求。您不能强制发布
另一种选择是:
@app.route('/save_info/<filepath>', methods=['GET', 'POST'])
def save_info(filepath):
if request.method == 'POST' or filepath:
...
@app.route('/save_info/',方法=['GET','POST'])
def保存信息(文件路径):
如果request.method==“POST”或文件路径:
...
您必须找到一种很好的方法,强制代码忽略您发送的GET
请求。您可以制作一个只包含提交按钮的表单,或者使用AJAX或其他客户端脚本发送帖子。据我所知,您不能让链接发送帖子。您可以添加一个中间路径,用于搜索覆盖http方法的GET参数。
看那里:
您的新链接将如下所示:
<li><a href = "{{ url_for('save_info', __METHOD_OVERRIDE__='POST', filepath=s.name ) }}"><div class="nodes">{{ s.title}} - {{ song.owner }}</div></a></li>
Hm,是否有其他方法可以做到这一点,而不必像表单那样通过URL传递信息?这实际上并不是一个表单本身,但它的呈现方式是相同的(呈现给用户的选择)。遗憾的是,没有AJAX或表单,您无法发送POST
请求。谢谢,我不知道\u方法
arg。