flask调用mysql表数据_Flask如何在模板中直接引用数据库调用数据?

在模板中的class里定义函数,可以直接使用SQLAlchemy来调用数据。比如

class User(db.Model):

__tablename__ = 'users'

id = db.Column(db.Integer,primary_key=True)

email = db.Column(db.String(64), unique=True, index=True)

username = db.Column(db.String(64),unique=True,index=True)

password_hash = db.Column(db.String(128))

last_seen = db.Column(db.DateTime(), default=datetime.datetime.utcnow)

def ping(self):

self.last_seen = datetime.datetime.utcnow()

db.session.add(self) #直接将数据储存到db

def change_email(self, token):

s = Serializer(current_app.config['SECRET_KEY'])

try:

data = s.loads(token)

except:

return False

if data.get('change_email') != self.id:

return False

new_email = data.get('new_email')

if new_email is None:

return False

if self.query.filter_by(email=new_email).first() is not None: #调用数据做判断

return False

self.email = new_email

self.avatar_hash = hashlib.md5(

self.email.encode('utf-8')).hexdigest()

db.session.add(self)

return True

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值