【Flask】个人博客、资讯项目关键点总结

本文总结了使用Flask框架构建个人博客和资讯项目的要点,包括图片验证码生成与验证、短信验证码发送、用户注册与登录、个人中心的图片上传、新闻发布与分类、新闻展示逻辑、点击量统计、收藏功能以及后台权限控制等关键功能的实现。涉及到的技术包括Redis存储、云通讯服务、第三方图片上传和数据库操作。
摘要由CSDN通过智能技术生成
  • 图片验证码

uuid:前端js生成,时间戳+机器码+随机数,(image_code_id)

图片验证码:captcha生成,→name,text,image

在redis中保存图片验证码文本,(uuid,过期时间,text)

向前端返回图片验证码的图片,response = make_response(image)

  • 发送短信

从redis获取真实验证码,读完之后删除,

先比较图片验证码:real_image_code.lower() != image_code.lower():

通过手机号查询数据库,看是否已注册

生成短信验证码:sms_code = '%06d' % random.randint(0, 999999)

保存短信验证码:手机号,过期时间,验证码

调用云通讯发送

  • 注册

检查用户是否已注册

user = User.query.filter(User.mobile == mobile).first()

提交用户数据到数据库

db.session.add(user)

db.session.commit()

db.session.rollback()

缓存用户数据到redis中:

请求上下文中有request和session两个对象,一个负责处理http请求内容,一个负责处理用户信息。

判断用户名和密码正确(一起判断,避免反向解析)

   

 if user is None or not user.check_password(password):

g 保存的是当前请求的全局变量,不同的请求会有不同的全局变量,通过不同的thread id区别

  • 个人中心

获取图片

avatar = request.files.get('avatar')

读取成二进制

image_data = avatar.read()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值