flask應用框架

2021-10-02 12:00:35 字數 2159 閱讀 5907

flask是乙個用python編寫的web應用程式微型框架,基於werkzeug wsgi工具包和jinja2模板引擎。

werkzeug是乙個wsgi(web server gateway inte***ce,web伺服器閘道器介面wsgi))工具包,實現了請求、響應物件等,用於構建web框架。jinja2是python的乙個流行的web模板引擎,將模板與特定資料來源組合以呈現動態網頁。

flask主要用於快速的web 伺服器搭建。如下圖,

示例中環境為ubuntu 16.04 +python2

使用pip 安裝

pip install flask
如下示例,可通過http://yourip:5001/hello 與http://yourip:5001/index 登入獲取回顯

from flask import flask

def hello():

return 'hello world'

def index():

return 'index page'

if __name__ == 『__main__』:

示例中,通過在單個檔案中定義多個路由函式能實現不同頁面的請求回顯。 但針對業務比較複雜的專案,在單檔案下處理route 會使得維護變得困難。在這種情況下, 很顯然需要對flask 進行模組化拆分,flask 中使用藍圖可實現該需求。

乙個較為完整的flask 包含了前台模板(html)、靜態檔案(img等)、檢視(route)函式。藍圖可以認為將乙個大型flask 根據業務劃分成不同的小型flask,各自維護一套模組、靜態檔案、檢視函式等,即藍圖是乙個模組化的類。

from flask import blueprint

demo1 = blueprint('demo1',__name__,template_folder='templates')

@demo1.route('/')

def index ():

return 『blueprint demo1』

demo2.py

from flask import blueprint

demo2 = blueprint('demo2',__name__,template_folder='templates')

@demo2.route('/')

def index():

return 'blueprint demo2'

如下為應用藍圖後的flask專案開發目錄

1.  flask-project-demo/

2. |-config.py #環境配置

3. |-manage.py #flask 啟動檔案

4. |-demo/

5. | |-__init__.py

6. | |- scripts/ # 後台源**包

7. | |-__init__.py

8. | |-test1.py #示例1

9. | |-test2.py #示例2

10. | |-views/ #flask 檢視函式

11. | |-__init__.py

12. | |-demo1.py #示例1

13. | |-demo2.py #示例2

14. | |-static/

15. | |-js/ #js檔案目錄

16. | |-css/ #css檔案目錄

17. | |-img/ #目錄

18. | |-templates/ #前台頁面模板目錄

19. | |-demo1.html #示例1

20. | |-demo2.html #示例2

FLASK框架應用例項

主目錄資料夾如下 total 60 drwxr xr x 3 root root 4096 jan 10 16 38 config drwxr xr x 3 root root 4096 jan 10 16 38 controller drwxr xr x 5 root root 4096 jan ...

python Web應用框架之Flask

pip install flask 以下是乙個簡單的flask應用 from flask import flask def hello world return hello world if name main 執行 python hello.py running on首先,我們匯入了 flask ...

Flask框架01(最小應用與除錯)

前言 這裡直接從flask框架的最小應用開始介紹,不會介紹python環境的安裝 這個前面的文章已經介紹過了 flask庫的安裝也不多介紹,太容易了 pip install flask 最小應用 不過是學什麼語言,第乙個 教的一般都是hello world!所以這裡最小應用依然使用hello wor...