最近几天为了做一个自助充值系统,从零开始学习的Flask,今天写这篇文章来记录一下,理清一下思路,同时浅谈对flask的理解,个人理解,大佬轻喷。

环境:

  • flask
  • flask-session
  • flask-wtf
  • sqlalchemy
  • pymysql
  • redis

流程图:

浅谈:

  1. 通过flask-wtf做表单验证
  2. 使用MVC或者MTV架构皆可,我用的MTV
  3. SweetAlert2来做弹窗,通过Jinja2的分支控制以及JavaScript自启动函数来实现信息提示
  4. 单独一个py文件中创建不同的类来对应不同的flask配置,通过app.config.from_object()导入配置
  5. 通过redisflask-session,将Session保存到Redis中,通过PERMANENT_SESSION_LIFETIME自定义设置Session失效时间,而SESSION_TYPE设置为redis默认设置为SESSION_REFRESH_EACH_REQUEST = True,即用户活动会更新Session的失效时间
  6. Session存放id(uuid)以及用户信息,对于用户信息,我只存放了足够辨识用户的信息,通过该信息再从数据库中取信息来展示给用户
  7. 通过sqlalchemy、pymysql进行数据库操作;sqlalchemy建立数据库连接池,用ORM对数据库进行操作;如果使用原生sql,使用传参的方式而不要通过字符串来构建sql语句,防止sql注入
  8. 其实感觉如果做一些小应用可以使用flask,方便快捷,但是如果做一个中、大型项目还是建议直接使用django等框架,大而全,因为即使使用flask,一步步拓展插件,最终也是如同django一般,不如直接使用django?
Last modification:December 22, 2020