您的位置:首页 > 数据库

3.22 学数据库 反射调用方法 动态导入模块 数据库操作准则

2018-03-22 12:53 225 查看
1.内置函数反射实现权限功能

def yanga11ang():
------回顾getattr函数
from src import commons
#commons.add()
func_name='add'
func=getattr(commons,func_name)
func()
-----------权限功能例子---------------
建立一个权限表 里面有模块表函数名, 数据库建表
动态导入模块 ????
动态调用函数 getattr


2.动态导入模块

def yanga11ang():
#潜规则,一般卸载一个目录下
import importlib
module='src.user_info'
m=importlib.import_module(module)
func=getattr(m,func_name)


3.操作数据库的准则 分离数据库操作和业务层

---------1 数据库链接------------
写入配置文件:用户名 密码 数据库 端口 编码
#当前登录的用户的权限信息
curren_user_permission_list=[]
#当前登录的用户的基本信息
current_suer_info={}
PY_MYSQL_CONN_DICT={
"host":'127.0.0.1',
"port":3306.
"user":'root',
"passwd":'654321'
"db":='authdb',
"charset":'utf8'
}

#import pymysql
#pymysql.connect(**PY_MYSQL_CONN_DICT)

-----------2数据库的表------------
单独操作,每一个表,创建一个类
class UserInfoRepository:

def get_all(self):
sql='select * from userinfo'
return fetchall()
def get_one_by_user_pwd(self,username,password):
sql="select * from userinfo  where username =%s and password=%s"
cursor.execute(sql,username,password)
return cursor.fetchone()
连表操作,userinfo left join ,方法 放到 userinfo 类里面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: