カテゴリー別pthonプロジェクト_ _インタフェースソート

#ディレクトリ
メイン・プログラム・ロジック#libプットのは
、実行可能ファイルに置く#bin
#conf放出プロファイルの
#logsはログ置く
あなたは、Python / binに/ start.py実行を開始するとき、プログラムの#1のreadme.txt書かれた記述を
#httpを://127.0 .0.1:パラメータ名のパスワードを要求する8989 /ログインログインインターフェイス

環境変数にディレクトリをpycharm

start.py

SYSインポート、OS、フラスコ
conf.settingsインポートSERVER_PORTから
lib.inferfaceインポートサーバーから
の印刷(ファイル__ __)#絶対パスフェッチ
プリント(os.path.abspath(__ファイル__) )#を正しいパス区切りGをフェッチ:\ besttest \ 2日目\ 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(ポート= SERVER_PORT、デバッグ=真)

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()

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/jingw/p/11225152.html