当前位置: 首页 > 科技观察

Flask官方推荐的项目结构原来是这样的

时间:2023-03-13 15:00:02 科技观察

Flask有一个特点:千人千面。它没有硬性规定,你必须使用哪种项目结构来组织代码,这就导致每个人都按照自己的习惯和喜好来写,写出来的项目结构往往千差万别。在Flask2.0的官方文档中,有一段是介绍Flask的工程结构的,大家可以看看。Mock结构Flask非常适合mocking。比如在调试前端代码的时候,后端服务可能还没有准备好,那么可以先用Flask模拟后端接口返回数据。Mock项目结构非常简单。创建一个文件夹:$mkdirflask-tutorial$cdflask-tutorial,然后在该文件夹下创建一些.py文件,用于编写Mock代码。例如,创建一个hello.py文件:fromflaskimportFlaskapp=Flask(__name__)@app.route('/hello')defhello():return'Hello,World!'并创建一个order.py文件:fromflaskimportFlaskapp=Flask(__name__)@app.route('/order')deforder():return{"id":123456789}项目结构如下:/home/user/Projects/flask-tutorial├──hello.py├──order.py项目结构Flask最正统的用法就是写web后台服务。与Django相比,Flask的项目结构要简单很多,如下图:/home/user/Projects/flask-tutorial├──flaskr/│├──__init__.py│├──db.py│├──schema.sql│├──auth.py│├──blog.py├──tests/│├──conftest.py│├──data.sql│├──test_factory.py│├──test_db.py│├──test_auth.py│└──test_blog.py├──venv/├──setup.py└──MANIFEST.inflaskr/存放项目main的源文件包。tests/存放测试代码的目录。(使用pytest框架编写)venv/Python虚拟环境目录。setup.py项目构建信息的描述。MANIFEST.in项目包括或排除其他文件夹的说明。可以看出,官方并没有对flaskr/给出更具体的目录结构设计。项目规模不同,编程体验不同。自由发挥的空间越大,结构分化越明显。这其实和Flask的设计理念是一致的。Flask只提供核心功能,不限制你能做什么,选择权交给你自己。Git忽略文件如果你使用Git来管理源代码,你可以配置以下.gitignore文件:venv/*.pyc__pycache__/instance/.pytest_cache/.coveragehtmlcov/dist/build/*.egg-info/把这些文件夹和文件,从提交的代码中排除。参考资料:https://flask.palletsprojects.com/en/2.0.x/tutorial/layout/https://blog.csdn.net/cckavin/article/details/97945913