python 开发接口(一)
一、首先导入模块 pip install flask
二 1 import flas 2 import json
3 import flask 4 #1、启动一个服务 5 #2、接收到客户端传过来的数据 6 #3、登录、注册、支付 7 #4、返回数据 8 9 #1、 10 #2、mock 接口 11 #3、不想让别人直接操作你的数据库 12 13 14 server=flask.Flask(__name__) #把当前这个python文件当做一个服务 15 16 import datetime 17 18 @server.route('/xiaojun') #定义服务 19 def get_time(): 20 now=str(datetime.datetime.now()) 21 return "现在的时间是%s"%now 22 23 @server.route('/hailong') 24 def say_hello(): 25 return 'hello' 26 27 @server.route('/index') 28 def my_page(): 29 f=open('index.html',encoding="utf-8") 30 res=f.read() 31 f.close() 32 return res 33
#连接数据库,从数据库中取值 34 @server.route('/login',methods=['post','get']) 35 def login(): 36 uname=flask.request.values.get('username') 37 passwd=flask.request.values.get('passwd') 38 #args这个方法就只能获取到URL里面传的参数 39 #values这个方法不管你是在url里面传参数还是 K-V传的,都可以获取到 40 if uname and passwd: 41 sql="select username,passwd from app_myuser where username='%s'" \ 42 " and passwd='%s';"%(uname,passwd) 43 result=tools.my_db(sql) 44 if result: 45 res={"error_code":1000,"msg":"登录成功"} 46 else: 47 res={"error_code":3001,"msg":"帐号/密码错误"} 48 else: 49 res={"error_code":3003,"msg":"必填参数未填,请查看接口文档"} 50 return json.dumps(res,ensure_ascii=False) 51 52
53 54 server.run(host='0.0.0.0',port=8888,debug=True) #启动服务 55 #host写成0.0.0.0的话,在一个局域网里面的人都可以访问了 56 #debug=True 加上它 就不需要重启了,改完代码他会自动重启
index.html #文件内容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <input type="text" placeholder="请输入你的帐号"> <input type="text" placeholder="请输入密码"> <div style="width: 80px;height: 80px;background-color: green"></div> <a href="http://www.nnzhp.cn">点我</a> </body> </html>
tools.py #建立数据库连接
import pymysql def my_db(sql): conn=pymysql.connect( host='118.24.3.40', user='jxz', password='123456', db='jxz', charset='utf8', autocommit=True ) cur=conn.cursor(cursor=pymysql.cursors.DictCursor) cur.execute(sql) res=cur.fetchall() cur.close() conn.close() return res