使用python2和flask开发一个http接口的方法

 
代码Demo
 1 import flask
 2  from flask import request
 3  from flask import jsonify
 4  import tools
 5  import OP_db
 6  import settings
 7  '''
 8  flask: web框架,可以通过flask提供的装饰器@server.route()将普通函数转换为服务
 9  登录接口,需要传url、username、passwd
10  '''
11  #创建一个服务,把当前这个python文件当做一个服务
12  server = flask.Flask(__name__)
13  #server.config['JSON_AS_ASCII'] = False
14  
15  # @server.route()可以将普通函数转变为服务 登录接口的路径、请求方式
16  @server.route('/login', methods=['get'])
17  def login():
18   # 获取通过url请求传参的数据
19   username = request.values.get('name')
20   # 获取url请求传的密码,明文
21   pwd = request.values.get('pwd')
22   # 判断用户名、密码都不为空,如果不传用户名、密码则username和pwd为None
23   if username and pwd:
24    # 获取加密后的密码
25    password = tools.md5_pwd(pwd)
26    #执行sql,如果查询的username和password不为空,说明数据库存在admin的账号
27    sql = 'select name,password from test where name= "%s" and password= "%s";' %(username, password)
28    # 从数据查询结果后,res返回是元组
29    res = OP_db.getconn(
30     host=settings.mysql_info['host'],
31     user=settings.mysql_info['user'],
32     passwd=settings.mysql_info['pwd'],
33     db=settings.mysql_info['db'],
34     port=settings.mysql_info['port'],
35     sql=sql
36    )
37    if res:  #res的结果不为空,说明找到了username=admin的用户,且password为加密前的123456
38     resu = {'code': 200, 'message': '登录成功'}
39     return jsonify(resu) #将字典转换为json串, json是字符串
40    else:
41     resu = {'code': -1, 'message': '账号/密码错误'}
42     return jsonify(resu)
43   else:
44    res = {'code': 999, 'message': '必填参数未填写'}
45    return jsonify(res)
46  
47  if __name__ == '__main__':
48   server.run(debug=True, port=8888, host=0.0.0.0) #指定端口、host,0.0.0.0代表不管几个网卡,任何ip都可以访问

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

记录一下这个问题,
   Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
其实就是flask未使用 WSGI 启动,所以使用wsgi启动就行了,我找到两种方式,但不知道怎么比较好坏,但以我的理解,底层都是wsgi,只是封装库不同而已。。。
from gevent import pywsgi
 
if __name__ == '__main__':
    server = pywsgi.WSGIServer(('0.0.0.0', 5000), app)
    server.serve_forever()
 
 
原文地址:https://www.cnblogs.com/hi3254014978/p/13646271.html