Flask的SQLAlchemy拓展
安装Flask的SQLAlchemy拓展包
先进入虚拟环境pip install flask-sqlalchemy
使用到的用户模型
用户:
账号名称
账号密码
为config添加数据库路径
SQLALCHEMY_DATABASE_URI = 'sqlite:///flaskproject.sqlite3'
SQLALCHEMY_TRACK_MODIFICATIONS = False
创建 models.py 文件
1 | from flask_sqlalchemy import SQLAlchemy |
创建用于创建数据库的 createDB.py
该文件与run.py在同一目录下
-account
-run.py
-createDB.py
1 | from account import models # 导入模型 |
运行createDB.py
python createDB.py
在account文件夹中看到flaskproject.sqlite3
就说明数据库创建成功了
修改注册表单 views.py
1 | from models import db,User |
表单简化
将注册部分变成User类的一个方法
views.py
1 | def register(): |
在models.py 为 User 添加 adduser方法
1 | class User(db.Model): |
为 User 添加checkPassword 方法:
1 | def checkPassword(username, password): |
修改登陆表单
1 | @app.route('/login') |
为用户登陆设置cookie
修改注册和登陆表单
1 | # 从flask导入make_response |
添加登出视图
1 | @app.route('/logout') |
修改base.html
1 | <a href="/">主页</a> |
使用session
cookie明文存储可以轻易的模拟其他用户
而session是加密后的cookie比较安全
1 | # 导入 session |
将cookie相关的设置替换为session即可。