网站地图 联系我们

学习python首选-实战python学习班,专注于python高级工程师培养,python课程:包括Python核心编程技术、全栈开发、网络爬虫、人工智能等。python全栈工程师+提高工作经验,获取免费试听课程!
当前位置: python培训 > python学习 > 常见问题 > 正文

Flask程序如何做能达到提交表单同样效果

来源:肚皮舞 浏览量: 发布日期:20-08-31 10:59:10 调整字体大小【 【所属栏目:常见问题】

  一般来说,在web表单提交后会发起POST请求,然后下面这段代码test()就会执行。

  而我想执行函数test_post()达到和提交表单一样的效果,表单的内容我希望能在test_post()中定义,执行后调用test()函数,该怎么写?

  @app.route("/test/", methods=["POST"])

  def test():

  return request.form["test"]

  def test_post():

  ...

  不知道理解的对不对。

  可以在test_post()里用urllib和urllib2以POST方式请求/test/链接来触发test()

  又或者可以直接将urllib.urlencode()后的数据直接传递给函数?(这个我没试过,只是瞎想,我也是新手)

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

  可以参考以下文档:

  http://flask.pocoo.org/docs/testing/

  http://werkzeug.pocoo.org/docs/test/

  更新

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

  @app.route("/test/", methods=["POST"])

  def test():

  return do_test(request.form)

  def do_test(form):

  return form["test"]

  def test_post():

  do_test(...)

  即可较为方便的处理了。

标签:
肚皮舞新闻动态News Center

肚皮舞视频

肚皮舞培训课程

联系卡伊丝contact us
联系我们
python培训「零基础入门到精通」python人工智能编程培训班-0798wz.com

咨询热线:18301225663