首先安装第三方flask模块,pip install flask
练习编写注册接口
分析:
1.注册需要有注册函数,最多输错3次,用户名不存在数据库,密码两次输入一致等
2.注册成功密码要加密,需要md5加密方法
3.注册成功后,存到数据库中
import flask,json,hashlib,pymysql #读取数据库,sql是select为查询功能,insert则插入功能 def my_db(sql,port=3306,charset='utf8'): ip, user, password, db = '118.24.3.40','jxz','123456','jxz' conn = pymysql.connect(host=ip,user=user,password=password, db=db,port=port,charset=charset,autocommit=True) cur = conn.cursor() cur.execute(sql) sql = sql.strip() sql = sql[:6].lower()#取到执行语句的前6个字符,用来判断是select、show查询 还是其他增删改(insert,delete,update) if sql.startswith('select') or sql.startswith('show'): data = cur.fetchall()#将查询的结果保存在data里 else: data = 'ok' cur.close() conn.close() return data #加密,返回加密后的字符串 def my_md5(s): m = hashlib.md5(s.encode()) return m.hexdigest() server = flask.Flask(__name__)#把这个当前python文件当做一个服务 @server.route('/register',methods=['post'])#@server.route装饰器,下面不是普通的函数 是一个接口 def reg(): username = flask.request.values.get('username')#入参为form-data形式 passwd = flask.request.values.get('passwd') cpasswd = flask.request.values.get('cpasswd') # json_data = flask.request.json # 获取入参是json类型的 # username = json_data.get('username') # passwd = json_data.get('passwd') # cpasswd = json_data.get('cpasswd') if not(username and passwd and cpasswd): res = {'code':'2003','msg':'缺少必填参数'} else: sql1 = "select * from lina_users where username = '%s';"%username res = my_db(sql1) if res: res = {'code':'2001','msg':'该用户已被注册'} else: if passwd == cpasswd: res = {'code':'1000','msg':'注册成功'} sql = "insert into lina_users (username,password) VALUES ('%s','%s')"%(username, my_md5(passwd)) my_db(sql) else: res = {'code':'2002','msg':'两次密码不一致'} return json.dumps(res,ensure_ascii=False) #默认5000端口,127.0.0.1 IP、启动服务,host0.0.0.0 就可以使别人访问这个接口了 debug=TRUE就可以不用重启服务 server.run(host='0.0.0.0',port=8989,debug=True)
目录分层结构
服务器bin目录放启动文件