> 文档中心 > flask总结

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()

待续。。。。。