软件定制开发供应商Python教程三:使用Flask搭建web服务

教程二:使用Aestate软件定制开发供应商操作数据库

-------------------------------------------------------------------------------------------------------------------

前言

        大家使用python软件定制开发供应商实现了很多个功能方法,但是只能一个个文件执行去操作,不是很方便。我们可以搭建一个web服务,通过接口方式对外输出功能方法。

        目前使用作为web服务框架。

一、开始使用Flask

        在我们的下创建一个py文件,此处命名为cx_server.py,代码如下:

  1. # Cx 初始化启用文件-py
  2. print("启动Cx Python服务...")
  3. from flask import Flask
  4. import json
  5. from flask import jsonify
  6. # 内部服务(自己提供的功能方法类)
  7. from services import area_service
  8. app = Flask(__name__)
  9. # 返回json数据中文乱码解决
  10. app.config['JSON_AS_ASCII'] = False
  11. @app.route('/')
  12. def index():
  13. return "Cx Python服务启动成功..."
  14. @app.route('/getAreaList')
  15. def getAreaList():
  16. data = json.loads(area_service.getAreaList())
  17. return jsonify({"data":data})
  18. if __name__ == '__main__':
  19. app.run()

注:其中的area_service在上一章有具体实现,只需要将上章中的逻辑封装为一个getAreaList方法即可。

方便大家参考我这边把代码贴出来。

area_service.py

  1. from base.entity.area import Area
  2. import pandas
  3. def getAreaList():
  4. # 一定要先实例化
  5. area = Area()
  6. # 查询多条
  7. r2 = area.find_many("select a.*,coalesce(c.bank,'') bank from mcam_area a left join mcam_bankorder c on a.id = c.id")
  8. return r2.to_json()

二、注意事项

       1.需要引入flask,若根据之前教程一安装方式可以不用下载flask,在安装时就已经预置了大量成熟的工具包,在此处只需要from flask import Flask即可。

        2.flask作为服务在返回json数据时,会默认将中文转成Unicode编码格式,解决方案:

                在根目录启动服务文件cx_server.py中添加配置:

                app.config['JSON_AS_ASCII'] = False

        3.cx_server.py在这个文件中,通过app.run()启动时,会出现错误提示:

        WARNING: This is a development server. Do not use it in a production deployment.

        解决方案:换一个启动方式,如下 :

        在cx_server.py文件中引入

        from gevent import pywsgi

  1. if __name__ == '__main__':
  2. # 启动方式一
  3. # server = pywsgi.WSGIServer(('0.0.0.0',8085),app)
  4. # server.serve_forever()
  5. # 启动方式二
  6. app.run(
  7. port=8085,
  8. debug=True
  9. )

       使用 启动方式一则不会有错误提示了。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发