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 SQLALchemy
db = SQLAlchemy(app)

模型类的映射管理

终端运行
1.python3 run.py db init
2.python3 run.py db migrate
3.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'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['DEBUG'] = True
app.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()

待续。。。。。

你可能感兴趣的:(程序员开发)