python数据库注册_10.注册和登录功能实现(3)—— 注册数据写入数据库

这篇博客介绍了如何在Python应用中实现用户注册和登录功能,重点在于密码的安全存储。通过Werkzeug库的generate_password_hash函数将密码加密后再存入数据库,同时在验证时使用check_password_hash进行匹配。在注册和登录的视图函数中,详细阐述了处理用户输入和错误反馈的流程。
摘要由CSDN通过智能技术生成

现在数据获取到了,提示也有了,我们需要把注册的数据写入到数据库,这一步很简单,直接使用之前提到过的方法,但是我们不能直接把明文密码写入到数据库中,那样做是十分不安全的,我们需要将其加密之后再写进去,具体是用到werkzeug.security中的generate_password_hash这个函数,将字符串变成hash值。

我们可以在User模型中重写__init__函数(或__setattr__),当传入password自动调用generate_password_hash进行加密,如:

class Users(db.Model):

__tablename__ = 'users_info'

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

username = db.Column(db.String(32), nullable=False)

password = db.Column(db.String(100), nullable=False)

register_time = db.Column(db.DateTime, nullable=False, default=datetime.now())

avatar_path = db.Column(db.String(256), nullable=False, default='images/doraemon.jpg')

def __init__(self, *args, **kwargs):

self.username = kwargs.get('username

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值