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

Posted heaven123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

 

 

 

 

 

 


以上是关于pthon项目_接口_按目录整理的主要内容,如果未能解决你的问题,请参考以下文章

opencv学习_pthon版opencv基础使用

尝试在空对象引用上调用接口方法“____”[重复]

VSCode 配置 用户自定义代码片段 自定义自动代码补充

肖sir___scm进销存管理系统__项目整理

笔记之_java整理设计模式

IdentityServer4源码解析_1_项目结构