用户模型类

comment—models—user.py

from comment.models import db
from werkzeug.security import generate_password_hash,check_password_hash
from datetime import datetimeclass User(db.Model):__tablename__ = 't_user'id = db.Column(db.BIGINT, primary_key=True, autoincrement=True)username = db.Column(db.String(64), comment='用户名')password = db.Column(db.String(128), comment='密码')payPassword = db.Column(db.String(128), comment='支付密码')payPwdStatus = db.Column(db.Integer, comment='支付密码验证', default=0)email = db.Column(db.String(100), comment='邮箱')emailStatus = db.Column(db.Integer, comment='邮箱验证', default=0)  # 1代表已经验证inviteId = db.Column(db.Integer, comment='邀请码')ip = db.Column(db.String(128), comment='ip')phone = db.Column(db.String(11), comment='手机号')onlock = db.Column(db.Integer, comment='用户状态')  # 0代码正常phoneStatus = db.Column(db.Integer, comment='手机验证', default=1)  # # 1代表已经验证realName = db.Column(db.String(64), comment='真实姓名')remark = db.Column(db.String(500), comment='备注')realNameStatus = db.Column(db.Integer, comment='实名认证', default=0)  # 1代表已认证nick_name = db.Column(db.String(200), comment='昵称')avatar = db.Column(db.String(128), comment='头像')idNum = db.Column(db.String(64), comment='身份证号码')sumFriends = db.Column(db.Integer, comment='邀请数量统计')invite_user_id= db.Column(db.Integer, comment='邀请的用户id')role = db.Column(db.Integer, comment='是否管理员', default=0)  # 0普通用户 1管理员loginTime = db.Column(db.DateTime, default=datetime.now(), comment='登录时间')registerTime = db.Column(db.DateTime, default=datetime.now(), comment='用户注册的时间')#todo 定义pwd的getter函数,对外使用的属性的名字;上面password是对应sqlalchemy的(对内的)@propertydef pwd(self):return self.password    #todo 返回对内的password的属性值,数据库存放的是加密之后的值#todo 定义pwd的setter函数,作用:对密码加密@pwd.setterdef pwd(self,x_password):   #x_password:是明文'''根据明文的密码加密之后得到密文:param x_password::return: 加密之后的密文'''#根据flask提供的算法,进行加密操作self.password=generate_password_hash(x_password)def check_password(self,x_password):'''验证密码是否正确:param x_password:密码的明文:return:'''return check_password_hash(self.password,x_password)@propertydef pay_pwd(self):"""支付密码"""return self.payPassword@pay_pwd.setterdef pay_pwd(self, p_password):self.payPassword = generate_password_hash(p_password)  # 根据flask提供的算法来加密def check_pay_password(self, p_password):return check_password_hash(self.payPassword, p_password)

账户模型类

from comment.models import  db
from sqlalchemy import ForeignKeyclass Account(db.Model):__tablename__ = 't_account'id = db.Column(db.Integer, primary_key=True, autoincrement=True)userId = db.Column(db.BIGINT, ForeignKey('t_user.id'), comment='用户表主键')#userlist:一对一关系表,一定不是列表user = db.relationship('User', backref=db.backref('accountInfo', lazy=True, uselist=False))total = db.Column(db.Float(10, 2), comment='帐户总额', default=0)balance = db.Column(db.Float(10, 2), comment='帐户可用余额', default=0)frozen = db.Column(db.Float(10, 2), comment='账户总计冻结总额', default=0)inverstmentW = db.Column(db.Float(10, 2), comment='总计待收本金', default=0)interestTotal = db.Column(db.Float(10, 2), comment='总计待收利息', default=0)addCapitalTotal = db.Column(db.Float(10, 2), comment='月投总额', default=0)recyclingInterest = db.Column(db.Float(10, 2), comment='月取总额', default=0)capitalTotal = db.Column(db.Float(10, 2), comment='月乘总额', default=0)inverstmentA = db.Column(db.Float(10, 2), comment='已投资总额', default=0)interestA = db.Column(db.Float(10, 2), comment='已赚取利息', default=0)uApplyExtractMoney = db.Column(db.Float(10, 2), comment='申请提现金额', default=0)discount = db.Column(db.Float(8, 2), comment='代金券总金额', default=0)

映射到数据库中

详细讲解在博客
https://blog.csdn.net/YZL40514131/article/details/123954906?spm=1001.2014.3001.5502

【Flask项目2】创建模型类映射到数据库,密码加密实现(3)相关推荐

  1. 关于项目中数据库密码加密的使用

    关于项目中数据库密码加密的使用 1 使用需求 2 使用步骤 1 准备一个SpringBoot项目环境 2 添加jasypt的jar包 3 创建一个测试类 4 修改配置文件 5 启动项目,访问忌口 6 ...

  2. SSM项目的数据库密码加密方案

    项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + My ...

  3. mysql数据库druid密码加密_Druid数据库密码加密

    背景 数据库密码直接写在配置中,对安全来说,是一个很大的挑战.Druid为此提供一种数据库密码加密的手段ConfigFilter. druid版本为1.1.18. 加密 1.项目中引入依赖 com.a ...

  4. Spring配置数据库密码加密

    在项目中,为了提高安全性,需要对配置文件中的部分敏感信息进行加密,如数据库登录密码等.以下是一个简单的数据库密码加密示例,供大家一起学习交流,有不对或者需要改进的地方,请大家多多指教! 一. 未加密情 ...

  5. java配置文件中数据库密码加密

    最近,有位读者私信我说,他们公司的项目中配置的数据库密码没有加密,编译打包后的项目被人反编译了,从项目中成功获取到数据库的账号和密码,进一步登录数据库获取了相关的数据,并对数据库进行了破坏. 虽然这次 ...

  6. druid ssh加密 java mysql_springboot 整合druid数据库密码加密功能的实现代码

    在之前给大家介绍过Springboot Druid 自定义加密数据库密码的几种方案,感兴趣的朋友可以点击查看下,今天通过本文给大家介绍springboot 整合druid数据库密码加密功能,具体内容如 ...

  7. druid连接池配置数据库密码加密

    druid配置数据库密码加密后,可以把密码放在配置文件里,或本地其他文件.远程服务器等三种地方,这里只讲第一种方法. 1.密码加密:cd到druid包所在文件夹打开命令行,输入 java -cp dr ...

  8. SpringBoot配置文件敏感信息加密,springboot配置文件数据库密码加密jasypt

    使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或application.yml,比如mysq ...

  9. 使用durid的ConfigFilter对数据库密码加密

    原文连接:http://blog.csdn.net/aixiaoyang168/article/details/49930513 ----------------------------------- ...

最新文章

  1. 超越时代的天才——图灵
  2. python 元类的call_【原创】Python 对象创建过程中元类, __new__, __call__, __init__ 的处理...
  3. GDCM:从VR查找标签的测试程序
  4. 如何发布一个npm包?
  5. 对SQL server、Oracle、MySQL和PostgreSQL进行OLTP性能测试(Benchmark)
  6. 做产品,大公司克制,小公司放纵
  7. 一文彻底掌握二叉查找树
  8. wiki文档_Wiki成为文档的5个理由
  9. UI素材干货|听说UI设计师更喜欢Sketch
  10. 【前端】—每日5道面试题打卡(十六)
  11. SQL Server 百度网盘免费下载
  12. 自强学堂mysql_Django ——自强学堂学习笔记
  13. 信息安全制度管理办法
  14. html_css_尺寸调整/调整图片样式(img/max-widht/object-fit)
  15. KMP(看毛片)NEXT数组模板
  16. UltraLAB台式图形工作站(海量计算王者~高性能计算工作站 EX620介绍)
  17. 《C#多线程编程实战》读书笔记
  18. UCOSIII-任务管理
  19. python编程做联机游戏大全单机_手把手教你将单机游戏改造成对战网游(附详细教程)...
  20. Ubuntu 14.04 smba服务器的配置——亲测方便可用

热门文章

  1. 简易航空订票系统_基于C++实现简易航空票务,飞机订票系统!
  2. mdx词典包_推荐几款实用的英语词典
  3. linux开启kafka消费者命令,Linux kafka常用命令
  4. matlab复数方程组,【求解】matlab求解非齐次方程组,但是系数矩阵是复数,求帮忙...
  5. 数据中心机房蓄电池培训
  6. 机房动力环境监控对消防子系统、UPS不间断电源监控方案
  7. Python之sklearn:GridSearchCV()和fit()函数的简介、具体案例、使用方法之详细攻略
  8. Py之Numpy:Numpy库中常用函数的简介、应用之详细攻略
  9. 成功解决TypeError: Singleton array array('data_input/xgboost/data_RentListingInquries/RentListingInqurie
  10. CSS实现垂直居中的常用方法