偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Flask官方推薦項目結構竟然是這樣

開發(fā) 項目管理
Flask有個特點:千人千面。它沒有硬性規(guī)定,你必須采用哪種項目結構來組織代碼,這就導致每個人都按照自己的習慣和喜好來寫,寫出來的項目結構往往是千差萬別。

[[420076]]

Flask有個特點:千人千面。它沒有硬性規(guī)定,你必須采用哪種項目結構來組織代碼,這就導致每個人都按照自己的習慣和喜好來寫,寫出來的項目結構往往是千差萬別。在Flask2.0的官方文檔中,有一節(jié)內容介紹了Flask的項目結構,我們可以窺探一番。

Mock式結構

Flask是很適合用來做Mock的,比如調試前端代碼時,后端服務不一定準備好了,那么就可以先用Flask模擬后端接口返回數(shù)據(jù)。

Mock式項目結構很簡單,創(chuàng)建一個文件夾:

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

然后在這個文件夾下面隨便創(chuàng)建一些.py文件,來寫Mock代碼即可。

比如創(chuàng)建一個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!' 

再創(chuàng)建一個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最正統(tǒng)的用法是寫Web后端服務,相對于Django來說,F(xiàn)lask的項目結構要簡潔很多,如下所示:

  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虛擬環(huán)境目錄。
  • setup.py 項目構建信息的描述。
  • MANIFEST.in 項目包含或排除其他文件夾的說明。

可以看出來官方并沒有給出flaskr/更為具體的目錄結構設計了,項目規(guī)模不同,編程經(jīng)驗不一,自由發(fā)揮空間越大,結構差異化就越明顯。這跟Flask的設計理念其實是保持一致的,F(xiàn)lask只提供核心功能,不限制你做什么,把選擇權交給你自己。

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

 

責任編輯:武曉燕 來源: dongfanger
相關推薦

2020-09-29 06:45:49

JDK

2021-07-28 06:51:08

Nacos代理模式

2020-12-15 08:05:40

路由器服務器網(wǎng)絡層

2019-12-24 11:00:51

NVMeSSDSATA

2024-06-17 00:04:00

JavaScriptWebRust開發(fā)

2025-06-27 02:11:00

2018-05-02 09:38:02

程序員代碼互聯(lián)網(wǎng)

2024-09-27 11:38:49

2019-08-19 09:21:36

程序員Bug代碼

2024-01-05 08:37:41

前端項目開發(fā)

2018-06-23 13:49:56

蘋果谷歌手機

2024-08-05 01:28:26

2022-07-07 19:44:22

Python 3.1

2015-06-18 11:04:58

2016-03-04 14:14:02

電話免費越洋

2018-07-06 00:09:47

2023-03-13 08:09:03

Protobuffeature分割

2021-10-18 13:42:52

加密貨幣金融工具

2022-01-16 07:02:07

物聯(lián)網(wǎng)平臺物聯(lián)網(wǎng)IOT

2020-09-17 11:02:58

Go 開源技術
點贊
收藏

51CTO技術棧公眾號