flask总结
模型的框架 - ORM(对象关系映射)
ORM框架的三大特征:
1.数据表到编程类的映射
2.数据类型的映射
3.数据表的关系映射到编程类的关系映射
ORM的优点:
封装了数据库中所有的操作,大大的提高了开发效率。可以省略庞大的数据访问层,即便不用SQL编码也能完成对数据的CRUD操作
Python中的ORM框架:SQLAlchemy
Flask中的ORM框架:SQLAlchemy,但是需要安装Flask-SQLAlchemy插件包
创建数据库:
create database 数据库名 default charset utf8 collate utf8_general_ci;collate utf8_general_ci:数据库的校对规则
collate=utf8_bin
utf8_bin:区分大小写
utf8_general_cs:大小写敏感;case insensitive的缩写
utf8_general_ci:大小写不敏感。case insensitive的缩写,意思是大小写不敏感
在Flask中配置数据库
1.通过app(Flask应用实例)构建配置信息
app.config['SQLALCHEMY_DATABASE_URI']="mysql+pymysql://用户名:密码@主机:端口/数据库名"
例如:
`app.config['SQLALCHEMY_DATABASE_URI']="mysql+pymysq://root:123456@localhost:3306/flask"`
2.创建数据库实例
from flask_sqlalchemy import SQLALchemydb = SQLAlchemy(app)
模型类的映射管理
终端运行1.python3 run.py db init2.python3 run.py db migrate3.python3 run.py db upgrade
设置自动提交
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=True
哈希加密的导包
from werkzeug.security import generate_password_hash,check_password_hash
通用配置
app = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:123456@localhost:3306/flaskLogin"app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = Trueapp.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = Falseapp.config['DEBUG'] = Trueapp.config['SECRET_KEY'] = 'you guess'db = SQLAlchemy(app)manager = Manager(app)migrate = Migrate(app, db)manager.add_command('db', MigrateCommand)if __name__ == "__main__": manager.run()
待续。。。。。