自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Flask官方推薦項(xiàng)目結(jié)構(gòu)竟然是這樣

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

[[420076]]

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

Mock式結(jié)構(gòu)

Flask是很適合用來做Mock的,比如調(diào)試前端代碼時(shí),后端服務(wù)不一定準(zhǔn)備好了,那么就可以先用Flask模擬后端接口返回?cái)?shù)據(jù)。

Mock式項(xiàng)目結(jié)構(gòu)很簡單,創(chuàng)建一個(gè)文件夾:

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

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

比如創(chuàng)建一個(gè)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)建一個(gè)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} 

項(xiàng)目結(jié)構(gòu)如下所示:

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

Project式結(jié)構(gòu)

Flask最正統(tǒng)的用法是寫Web后端服務(wù),相對(duì)于Django來說,F(xiàn)lask的項(xiàng)目結(jié)構(gòu)要簡潔很多,如下所示:

  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/ 存放項(xiàng)目主要源文件的包。
  • tests/ 存放測(cè)試代碼的目錄。(使用pytest框架來寫)
  • venv/ Python虛擬環(huán)境目錄。
  • setup.py 項(xiàng)目構(gòu)建信息的描述。
  • MANIFEST.in 項(xiàng)目包含或排除其他文件夾的說明。

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

Git忽略文件

如果采用Git對(duì)源代碼進(jìn)行管理,可以配置下面的.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

 

責(zé)任編輯:武曉燕 來源: dongfanger
相關(guān)推薦

2020-09-29 06:45:49

JDK

2020-12-15 08:05:40

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

2021-07-28 06:51:08

Nacos代理模式

2019-12-24 11:00:51

NVMeSSDSATA

2024-06-17 00:04:00

JavaScriptWebRust開發(fā)

2018-05-02 09:38:02

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

2024-01-05 08:37:41

前端項(xiàng)目開發(fā)

2018-06-23 13:49:56

蘋果谷歌手機(jī)

2019-08-19 09:21:36

程序員Bug代碼

2024-09-27 11:38:49

2016-03-04 14:14:02

電話免費(fèi)越洋

2024-08-05 01:28:26

2022-07-07 19:44:22

Python 3.1

2015-06-18 11:04:58

2023-03-13 08:09:03

Protobuffeature分割

2018-07-06 00:09:47

2021-10-18 13:42:52

加密貨幣金融工具

2022-01-16 07:02:07

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

2020-09-17 11:02:58

Go 開源技術(shù)

2023-04-06 09:44:00

ChatGPT行業(yè)質(zhì)量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)