冒泡泡de可乐
代码都是思想和概念的体现~每多学一点知识,就能少写一行代码~

程序分目录:

      

 

bin — 启动文件

         start.py

conf — 配置文件

          setting.py    

lib — 工具类、初始化服务类、各业务模块.....

          tools.py、service.py、 user.py、pay.py  ......

logs — 日志文件

 

setting.py 

#mysql配置信息 放在一个字典中
mysql_info={
    'host':'118.24.3.00',
    'port':3306,
    'user':'xxxx',
    'password':'xxxxxx',
    'db':'xxxx',
    'charset':'utf8',
    'autocommit':True
}

server_info={
    'host':'0.0.0.0',
    'port':5000,   #端口号
    'debug':True  #是否为调试模式
}

 

在tools.py文件中导入setting.py中的配置信息

import pymysql
from my_api.conf.setting import mysql_info  #mysql_info 是一个字典

def my_db(sql):
    conn =pymysql.connect(**mysql_info)   #**mysql_info调用setting.py中的字典
    cur=conn.cursor(cursor=pymysql.cursors.DictCursor)  #返回数据为字典格式
    cur.execute(sql)
    res =cur.fetchall()
    cur.close()
    conn.close()
    return res

 

service.py 提供服务

import flask

server = flask.Flask(__name__) #初始化服务

 

 user.py 写对应的业务逻辑模块

 

from lib.service import server
from lib.tools import my_db
import flask,json

@server.route('/get_table_data',methods=['post'])
def get_table_data():    #获取某个表中的所有数据
    table_name =flask.request.values.get('table_name')
    sql='select * from %s;'%table_name
    res =my_db(sql)
    return json.dumps(res,ensure_ascii=False)

 

 

 start.py 程序启动文件

 

#将当前工程目录(my_api)加入到python环境变量,否则在别人电脑上无法运行
import os,sys
res=os.path.abspath(__file__)  #取当前文件的绝对路径
base_path=os.path.dirname(os.path.dirname(res)) #当前文件的上层目录(bin)的上层目录(my_api),即当前工程目录
sys.path.insert(0,base_path)  #将当前工程目录(my_api)加入到python环境变量

# 以下这些导入必须写在添加环境变量的方法下面,否则会报找不到模块的错误
from lib.service import server
from conf.setting import server_info
from lib import user,user,pay,order  #导入各个业务模块,如果不导入访问接口会报找不到接口的错误 (导入模块的实质就是将python文件执行一遍)

#启动服务
server.run(**server_info)

 

posted on 2018-11-04 16:29  HathawayLee  阅读(483)  评论(0编辑  收藏  举报