pthon項目_接口_按目錄整理

#目錄
#lib放程序的主邏輯
#bin放可執行文件
#conf放配置文件
#logs放日誌
#readme.txt寫關於程序的描述,啓動時運行python/bin/start.py
#http://127.0.0.1:8989/login 登錄接口,請求參數 username password

pycharm把目錄加到環境變量中python

start.pymysql

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,hashlibfrom conf.settings import MY_INFOdef 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 datadef my_md5(s):    m=hashlib.md5(s.encode())    return m.hexdigest()
相關文章
相關標籤/搜索