您好,匿名用户
随意问技术百科期待您的加入

Flask程序内部如何发起POST请求?

0 投票

一般来说,在web表单提交后会发起POST请求,然后下面这段代码test()就会执行。
而我想执行函数test_post()达到和提交表单一样的效果,表单的内容我希望能在test_post()中定义,执行后调用test()函数,该怎么写?

@app.route("/test/", methods=["POST"])
def test():
    return request.form["test"]
    
def test_post():
    ...
用户头像 提问 2014年 1月29日 @ Annie 上等兵 (299 威望)
分享到:

1个回答

0 投票
 
最佳答案

Flask 都提供了用于测试的工具,Flask 的 wsgi app 对象若配置中 TESING = True 时,可以通过 test_client() 方法得到一个用于测试目的的客户端对象,实际上它是 werkzeug.test.Client 子类的一个实例。

可以参考以下文档:

更新

重新看了楼主的需求,如果不是要做单元测试,只是希望能够像提交表单一样内部触发,可以稍微调整一下代码:

@app.route("/test/", methods=["POST"])
def test():
    return do_test(request.form)

def do_test(form):
    return form["test"]

def test_post():
    do_test(...)

即可较为方便的处理了。

用户头像 回复 2014年 1月27日 @ Capricorn 上等兵 (188 威望)
选中 2013年 9月7日 @Annie
提一个问题:

相关问题

0 投票
1 回复 45 阅读
用户头像 提问 2013年 11月16日 @ Apple 上等兵 (542 威望)
0 投票
1 回复 56 阅读
0 投票
1 回复 70 阅读
0 投票
1 回复 28 阅读
0 投票
1 回复 20 阅读
用户头像 提问 2014年 3月4日 @ Nero 上等兵 (377 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...