Python教程三:使用Flask搭建web服务
教程二:使用Aestate操作数据库
Python教程二:使用Aestate操作数据库_Cx_轩的博客-CSDN博客
-------------------------------------------------------------------------------------------------------------------
前言
大家使用python实现了很多个功能方法,但是只能一个个文件执行去操作,不是很方便。我们可以搭建一个web服务,通过接口方式对外输出功能方法。
目前使用Flask作为web服务框架。
一、开始使用Flask
在我们的根目录下创建一个py文件,此处命名为cx_server.py,代码如下:
# Cx 初始化启用文件-py
print("启动Cx Python服务...")from flask import Flask
import json
from flask import jsonify
# 内部服务(自己提供的功能方法类)
from services import area_serviceapp = Flask(__name__)
# 返回json数据中文乱码解决
app.config['JSON_AS_ASCII'] = False@app.route('/')
def index():return "Cx Python服务启动成功..."@app.route('/getAreaList')
def getAreaList():data = json.loads(area_service.getAreaList())return jsonify({"data":data})if __name__ == '__main__':app.run()
注:其中的area_service在上一章有具体实现,只需要将上章中的逻辑封装为一个getAreaList方法即可。
方便大家参考我这边把代码贴出来。
area_service.py
from base.entity.area import Area
import pandasdef getAreaList():# 一定要先实例化area = Area()# 查询多条r2 = area.find_many("select a.*,coalesce(c.bank,'') bank from mcam_area a left join mcam_bankorder c on a.id = c.id")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
if __name__ == '__main__':# 启动方式一# server = pywsgi.WSGIServer(('0.0.0.0',8085),app)# server.serve_forever()# 启动方式二app.run(port=8085,debug=True)
使用 启动方式一则不会有错误提示了。
Python教程三:使用Flask搭建web服务相关推荐
- flask之搭建web服务
文章目录 前言 本地搭建flask服务 设置路由 设置请求方法和参数 如何搭建一个restful接口的服务 前言 flask是什么?众所周知 java有 spring 全家桶和sparkjava,Py ...
- 基于python Flask搭建mockServer服务
前言: 为什么要用mockserver呢!我们自己内部接口需要使用微信,支付宝的支付功能,就需要验证和打钱才能返回固定的成功返回信息,成本太高,我们就可以用MockServer来模拟返回,绕过验证. ...
- Flask实现Web服务调用Python程序
Flask实现Web服务调用Python程序 通过Web服务调用Python写的手写数字识别算法模型,得到手写数字识别结果. 项目场景: 项目需求:将客户端的请求经由Web服务器转发给Flask程序实 ...
- 新手如何使用docker搭建web服务环境
做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的.对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(如 Apache.Ng ...
- 教程 | 用安卓手机搭建 web 服务器(一)—— 应用安装配置
[2019.2.23 更新]:更新 BusyBox,Linux Deploy 软件 之前无意间看到了一篇<在安卓上部署服务器>的文章,正好最近换了新手机,正好最近在学 Python 和 H ...
- 使用 docker 搭建 web 服务环境
本文目的 做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的.对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(如 Apac ...
- 教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置
上一步完成了必要的软件安装,接下来需要在 Linux 系统上安装 nginx. Nginx("engine x")是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能 ...
- 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)
普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...
- tomcat搭建web服务,lrc文件下载
对于我这个开始学.net的人来说,对tomcat所知甚少.如今在Android练习中,需要用tomcat搭建web服务,并提供文件下载.视频中老师一带而过,我那个郁闷啊.没有办法,自己倒持一下,写这篇 ...
最新文章
- 利用查找替换批处理(附完整源码),进行高效重构
- hystrix原理_go-hystrix熔断机制
- JS 基础 —— JavaScript 关键字(keyword)与保留字
- MYSQL增量备份和全量备份脚本
- 老李分享:基于图像识别的跨平台的手机自动化测试方案
- thymeleaf 中select下拉回显
- php Tsocket read 0,thrift 返回 TSocket read 0 bytes 求助!!!!汗血宝马
- python异常捕获_Python 异常的捕获、异常的传递与主动抛出异常操作示例
- char* str = abc ;跟char str[] = abc;的区别
- python调用matlab函数_python调用matlab的m自定义函数方法
- Ribbon客户端负载均衡算法分析
- CSS 常用开发技巧
- linux ping mtu值,ping 包长度及 MTU
- Linux下使用dos2unix修改目录中文件格式
- java方法重载的好处_Java方法重载浅谈
- 文献综述是什么?怎么写?内附简洁模板
- 数据预处理_缺失值处理
- win8服务器备份在哪个文件夹,iPhone备份文件在哪里?Win8系统路径介绍
- rem布局百分比与rem的比例换算
- Ubuntu iwlwifi网卡驱动