python flask框架詳解

2021-10-21 06:20:19 字數 2443 閱讀 5252

2.簡單上手

乙個最小的 flask 應用如下:

執行結果:

environment: production

warning: this is a development server. do not use it in a production deployment.

use a production wsgi server instead.

debug mode: off

running on (press ctrl+c to quit)

訪問:在這裡插入描述

host:要監聽的主機名。 預設為127.0.0.1(localhost)。設定為「0.0.0.0」以使伺服器在外部可用

port :預設值為5000

debug:預設為false。 如果設定為true,則提供除錯資訊,可以自動過載**並顯示除錯資訊

options:要**到底層的werkzeug伺服器。

2.1 除錯模式

雖然 flask 命令可以方便地啟動乙個本地開發伺服器,但是每次應用** 修改之後都需要手動重啟伺服器。這樣不是很方便, flask 可以做得更好。如果你開啟 除錯模式,那麼伺服器會在修改應用**之後自動重啟,並且當應用出錯時還會提供乙個 有用的偵錯程式。

在命令列中,如果需要開啟所有開發功能(包括除錯模式),那麼要在執行伺服器之前匯出 flask_env 環境變數並把其設定為 development:

3.flask 路由

現代web框架使用路由技術來幫助使用者記住應用程式url。可以直接訪問所需的頁面,而無需從主頁導航。

flask中的route()裝飾器用於將url繫結到函式。例如:

#!/usr/bin/python

「」"@author:chenshifeng

@file:flask_demo.py

@time:2021/03/01

「」"from flask import flask

轉換器 描述

string (預設值) 接受任何不包含斜槓的文字

int 接受正整數

float 接受正浮點數

path 類似 string ,但可以包含斜槓

uuid 接受 uuid 字串

#!/usr/bin/python

「」"@author:chenshifeng

@file:flask_demo.py

@time:2021/03/01

「」"from flask import flask

4.1唯一的 url / 重定向行為

以下兩條規則的不同之處在於是否使用尾部的斜槓。:

about 的 url 沒有尾部斜槓,因此其行為表現與乙個檔案類似。如果訪問這個 url 時新增了尾部斜槓就會得到乙個 404 錯誤。這樣可以保持 url 唯一,並幫助 搜尋引擎避免重複索引同一頁面。

5.flask url構建

url_for()函式對於動態構建特定函式的url非常有用。該函式接受函式的名稱作為第乙個引數,以及乙個或多個關鍵字引數,每個引數對應於url的變數部分。

#!/usr/bin/python

「」"@author:chenshifeng

@file:flask_demo.py

@time:2021/03/01

「」"from flask import flask, redirect, url_for

redirect函式用於重定向,實現機制很簡單,就是向客戶端(瀏覽器)傳送乙個重定向的http報文,瀏覽器會去訪問報文中指定的url。

執行開啟瀏覽器並輸入url - http://localhost:5000/user/admin

hello admin

在瀏覽器中輸入以下url - http://localhost:5000/user/mvl

hello mvl as guest

6.flask http方法

web 應用使用不同的 http 方法處理 url 。當你使用 flask 時,應當熟悉 http 方法。 預設情況下,乙個路由只回應 get 請求。 可以使用 route() 裝飾器的 methods 引數來處理不同的 http 方法:

方法 描述

get 以未加密的形式將資料傳送到伺服器,最常見的方法。

head 和get方法相同,但沒有響應體。

post 用於將html表單資料傳送到伺服器,post方法接收的資料不由伺服器快取。

put 用上傳的內容替換目標資源的所有當前表示。

delete 刪除由url給出的目標資源的所有當前表示。

預設情況下,flask路由響應get請求。但是,可以通過為route()裝飾器提供方法引數來更改此首選項。

為了演示在url路由中使用post方法,首先讓我們建立乙個html表單,並使用post方法將表單資料傳送到url。

將以下指令碼另存為login.html

執行以下**

Python Flask框架學習

1.flask系列教程 1 認識web 2.flask系列教程 2 flask簡介 3.flask系列教程 3 專案配置 4.flask系列教程 4 url與檢視 5.flask系列教程 5 模板簡介 6.flask系列教程 7 jinja2模板概述 7.flask系列教程 8 jinja2過濾器 ...

Python Flask框架總結

flask是乙個使用 python 編寫的輕量級 web 應用框架,它比較適合一些分層比較少,邏輯不怎麼複雜的web專案。werkzeug 路由模組,實現路由 除錯和web伺服器閘道器介面 jinja2 模板引擎 匯入flask from flask import flask 建立flask的應用程...

python flask框架基礎

為什麼要使用虛擬環境?隨著你的 python 專案越來越多,你會發現不同的專案會需要 不同的版本的 python 庫。同乙個 python 庫的不同版本可能不相容。虛擬環境可以為每乙個專案安裝獨立的 python 庫,這樣就可以隔離不同專案之間的 python 庫,也可以隔離專案與作業系統之間的 p...