Flask 基礎元件(一) 基本使用

2022-05-09 19:02:25 字數 1915 閱讀 2288

flask是乙個基於python開發並且依賴jinja2模板和werkzeug wsgi服務的乙個微型框架,對於werkzeug本質是socket服務端,其用於接收http請求並對請求進行預處理,然後觸發flask框架,開發人員基於flask框架提供的功能對請求進行相應的處理,並返回給使用者,如果要返回給使用者複雜的內容時,需要借助jinja2模板來實現對模板的處理,即:將模板和資料進行渲染,將渲染後的字串返回給使用者瀏覽器。

「微」(micro) 並不表示你需要把整個 web 應用塞進單個 python 檔案(雖然確實可以 ),也不意味著 flask 在功能上有所欠缺。微框架中的「微」意味著 flask 旨在保持核心簡單而易於擴充套件。flask 不會替你做出太多決策——比如使用何種資料庫。而那些 flask 所選擇的——比如使用何種模板引擎——則很容易替換。除此之外的一切都由可由你掌握。如此,flask 可以與您珠聯璧合。

預設情況下,flask 不包含資料庫抽象層、表單驗證,或是其它任何已有多種庫可以勝任的功能。然而,flask 支援用擴充套件來給應用新增這些功能,如同是 flask 本身實現的一樣。眾多的擴充套件提供了資料庫整合、表單驗證、上傳處理、各種各樣的開放認證技術等功能。flask 也許是「微小」的,但它已準備好在需求繁雜的生產環境中投入使用。

from flask import

flask # 匯入flask類

) # 生成flask 例項 '

/') # 定義路由

defhello_world(): # 檢視函式

return

'hello world!

' # 返回結果

if__name__ == '

__main__

':

flask() 初始化常用引數

import_name,

static_url_path=none, #

靜態檔案的訪問路徑, 就相當於別名, 類似於django中的 , 資源的url開頭就是這裡指定的路徑

static_folder='

static

', #

靜態檔案目錄的路徑 預設當前專案中的static目錄

static_host=none, #

遠端靜態檔案所用的host位址, 如cdn的主機位址

host_matching=false, #

是否開啟host主機位匹配,是要與static_host一起使用,如果配置了static_host, 則必須賦值為true

subdomain_matching=false, #

理論上來說是用來限制server_name子網域名稱的,但是目前還沒有感覺出來區別在**

template_folder='

templates

', #

template模板目錄, 預設當前專案中的 templates 目錄

instance_path=none, #

指向另乙個flask例項的路徑

instance_relative_config=false, #

是否載入另乙個例項的配置

root_path=none #

主模組所在的目錄的絕對路徑,預設專案目錄

run() 函式

run(*host=none*, *port=none*, *debug=none*, ***options*)

#run()主要是為flask應用啟動乙個server

#四個引數##

port:埠,是run()啟動服務的時候指定的執行埠,預設是5000

#debug:除錯,如果需要進入除錯模式,可以將這個選項設定成ture

#options:選項引數是將server的引數傳送到werkzeug server去處理。

flask的基本使用

匯入flask類 from flask import flask 檢視函式 通過裝飾器將路由映到檢視函式 flask程式使用run方法啟動web伺服器 if name main 程式載入配置 路由傳參 使用尖括號傳參 動態引數 檢視函式也要有對應的引數接收 重定向 redirect 後跟url路徑,...

flask框架基本使用

1.環境的使用 mkvirtualenv 1.0 flask p python3 workon 1.0 flask pip install flask 1 1 第乙個helloworld程式 from flask import flask def abc return hello world if ...

Flask框架 基本使用

web world wide web 誕生最初的目的,是為了利用網際網路交流工作文件。web 發展至今,特別是伺服器端,涉及到的知識 內容,非常廣泛。這對程式設計師的要求會越來越高。如果採用成熟,穩健的框架,那麼一些基礎的工作,比如,安全性,資料流控制等都可以讓框架來處理,那麼程式開發人員可以把精力...