pthon项目_接口_按目录整理


#目录
#lib放程序的主逻辑
#bin放可执行文件
#conf放配置文件
#logs放日志
#readme.txt写关于程序的描述,启动时运行python/bin/start.py
#http://127.0.0.1:8989/login 登陆接口,请求参数 username password

pycharm把目录加到环境变量中

start.py

import sys,os,flask
from conf.settings import SERVER_PORT
from lib.inferface import server
print(__file__)#取绝对路径
print(os.path.abspath(__file__))#把路径分隔符取正确G:\besttest\day2\day_7\my_api\bin\start.py
path_base=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,path_base)#把my_api,加入父目录
server.run(port=SERVER_PORT,debug=True)

settings.py
MY_INFO={
'host':'118.24.3',
'user':'jxz',
'password':'11111',
'port':3306,
'db':'jxz',
'charset':'utf8',
'autocommit':True
}#数据库配置信息
SERVER_PORT=8989

interface.py
#pip install flask
#flask 开源的web框架,可以启动服务
#mock服务
import flask,json
from lib.tools import my_db,my_md5
server=flask.Flask(__name__)#把当前这个python文件当作一个服务
@server.route('/login',methods=['get','post'])#装饰器,加上此装饰器就变成了接口
def denglu():
username=flask.request.values.get('username')#从客户端传过来的数据
pwd=flask.request.values.get('password')
#json_data=flask.request.json.get('username')#获取入参是json类型的
# cookies_data=flask.request.cookies.get('xxx')#获取cookies
# header_data=flask.request.headers.get('xxx')#获取header
if username=='jing' and pwd=='123456':
res={'code':1000,'msg':'登录成功','sign':'sdfnfk38fnfd'}
else:
res={'code':2000,'msg':'账号或密码不正确'}
return json.dumps(res,ensure_ascii=False)
@server.route('/register',methods=['get','post'])
def reg():
username=flask.request.values.get('username')
pwd=flask.request.values.get('password')
cpwd=flask.request.values.get('cpassword')
if username and pwd and cpwd:
sql="select * from nhy where name='%s';"%username
pwd_md5=my_md5(pwd)
sql1="insert into nhy(name,password)values('%s','%s');"%(username,pwd_md5)
if my_db(sql):
data={'code':100,'msg':'账号已存在'}
elif pwd!=cpwd:
data={'code':220,'msg':'账号密码不一致'}
else:
my_db(sql1)
data={'code':3000,'msg':'注册成功'}
else:
data={'code':400,'msg':'username,password and cpassword不能为空'}
return json.dumps(data,ensure_ascii=False)
# server.run(port=8989,debug=True)#启动服务,括号里也可以指定host,port
#host=‘0.0.0.0’就可以在同一个局域网里,别人拿你的ip地址去访问了
#debug=True调试模式
#端口号不能重复,所以不能每次都重新运行
#http://127.0.0.1:8989/login?username=jing&password=123456

#目录
#lib放程序的主逻辑
#bin放可执行文件
#conf放配置文件
#logs放日志
#readme.txt写关于程序的描述,启动时运行python/bin/start.py
#http://127.0.0.1:8989/login 登陆接口,请求参数 username password

tools.py
import pymysql,hashlib
from conf.settings import MY_INFO
def my_db(sql):
coon=pymysql.connect(**MY_INFO)#直接把字典转成'host'='118.24.3'
cur=coon.cursor()
sql=sql.strip()
cur.execute(sql)
sql_start=sql[:6].lower()#取sql的开头,转成小写
if sql_start.startswith('select') or sql_start.startswith('show'):
data=cur.fetchall()
else:
data='ok'
cur.close()
coon.close()
return data

def my_md5(s):
m=hashlib.md5(s.encode())
return m.hexdigest()

 

 

 

 

 

 

 


                        
                        
                 

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com