项目结构
1 | 项目名 |
应用设置
1 | import os |
定义操作数据库
1 | #encoding: utf-8 |
函数应用注册
1 | def init_app(app): |
schema.sql
1 | DROP TABLE IF EXISTS users; |
蓝图和视图
1 | #encoding utf-8 |
模板
1 | {% extends 'base.html' %} |
测试
pip install pytest coverage
conftest.py
1 | import os |
test_factory.py
1 | from flaskr import create_app |
test_db.py
1 | import sqlite3 |
test_auth.py
1 | import pytest |
运行测试
1 | [tool:pytest] |
pytest
coverage report
coverage html
部署
python setup.py bdist_wheel
文件名由项目名称、版 本号和一些关于项目安装要求的标记组成。
配置秘钥
python -c ‘import os; print(os.urandom(16))’
产品服务器
pip install waitress
waitress-serve –call ‘app:create_app’
常用扩展
pip install flask
pip install flask-login
pip install flask-openid
pip install flask-mail
pip install flask-sqlalchemy
pip install sqlalchemy-migrate
pip install flask-whooshalchemy
pip install flask-wtf
pip install flask-babel
pip install guess_language
pip install flipflop
pip install coverage
- pip install –no-deps lamson chardet flask-mail