Flask官方推荐项目结构竟然是这样

Flask有个特点:千人千面。它没有硬性规定,你必须采用哪种项目结构来组织代码,这就导致每个人都按照自己的习惯和喜好来写,写出来的项目结构往往是千差万别。在Flask2.0的官方文档中,有一节内容介绍了Flask的项目结构,我们可以窥探一番。

在交城等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、成都网站制作 网站设计制作按需设计网站,公司网站建设,企业网站建设,品牌网站建设,网络营销推广,成都外贸网站建设公司,交城网站建设费用合理。

Mock式结构

Flask是很适合用来做Mock的,比如调试前端代码时,后端服务不一定准备好了,那么就可以先用Flask模拟后端接口返回数据。

Mock式项目结构很简单,创建一个文件夹:

 
 
 
  1. $ mkdir flask-tutorial 
  2. $ cd flask-tutorial 

然后在这个文件夹下面随便创建一些.py文件,来写Mock代码即可。

比如创建一个hello.py文件:

 
 
 
  1. from flask import Flask 
  2.  
  3. app = Flask(__name__) 
  4.  
  5.  
  6. @app.route('/hello') 
  7. def hello(): 
  8.     return 'Hello, World!' 

再创建一个order.py文件:

 
 
 
  1. from flask import Flask 
  2.  
  3. app = Flask(__name__) 
  4.  
  5.  
  6. @app.route('/order') 
  7. def order(): 
  8.     return {"id": 123456789} 

项目结构如下所示:

 
 
 
  1. /home/user/Projects/flask-tutorial 
  2. ├── hello.py 
  3. ├── order.py 

Project式结构

Flask最正统的用法是写Web后端服务,相对于Django来说,Flask的项目结构要简洁很多,如下所示:

 
 
 
  1. /home/user/Projects/flask-tutorial 
  2. ├── flaskr/ 
  3. │   ├── __init__.py 
  4. │   ├── db.py 
  5. │   ├── schema.sql 
  6. │   ├── auth.py 
  7. │   ├── blog.py 
  8. ├── tests/ 
  9. │   ├── conftest.py 
  10. │   ├── data.sql 
  11. │   ├── test_factory.py 
  12. │   ├── test_db.py 
  13. │   ├── test_auth.py 
  14. │   └── test_blog.py 
  15. ├── venv/ 
  16. ├── setup.py 
  17. └── MANIFEST.in 
  • flaskr/ 存放项目主要源文件的包。
  • tests/ 存放测试代码的目录。(使用pytest框架来写)
  • venv/ Python虚拟环境目录。
  • setup.py 项目构建信息的描述。
  • MANIFEST.in 项目包含或排除其他文件夹的说明。

可以看出来官方并没有给出flaskr/更为具体的目录结构设计了,项目规模不同,编程经验不一,自由发挥空间越大,结构差异化就越明显。这跟Flask的设计理念其实是保持一致的,Flask只提供核心功能,不限制你做什么,把选择权交给你自己。

Git忽略文件

如果采用Git对源代码进行管理,可以配置下面的.gitignore文件:

 
 
 
  1. venv/ 
  2.  
  3. *.pyc 
  4. __pycache__/ 
  5.  
  6. instance/ 
  7.  
  8. .pytest_cache/ 
  9. .coverage 
  10. htmlcov/ 
  11.  
  12. dist/ 
  13. build/ 
  14. *.egg-info/ 

把这些文件夹和文件,排除到提交的代码之外。

参考资料:

https://flask.palletsprojects.com/en/2.0.x/tutorial/layout/

https://blog.csdn.net/cckavin/article/details/97945913

当前标题:Flask官方推荐项目结构竟然是这样
转载来源:http://www.shufengxianlan.com/qtweb/news28/264428.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联