Flask框架 url路由,Templates模板

2021-09-02 02:46:23 字數 3445 閱讀 4115

python web 框架:

靜態網頁:無法與伺服器做動態互動的網頁。

動態網頁:允許與伺服器動態互動的網頁。

網頁(html,css,js)

能夠給使用者提供服務的機器就稱為「伺服器」。

硬體 與 軟體

硬體: 一台計算機可以理解為一台伺服器

軟體: 乙個能夠結束使用者請求並給出響應的程式也可理解為伺服器

apache(阿帕奇)

tomcat(神社)

iis(internet information service)

nginx

伺服器的作用

儲存web上的資訊

能夠處理使用者的請求(request)並給出響應

執行伺服器端的程式

具備一定的安全功能

框架是乙個為了解決開放性問題而存在的一中結構。

框架本身會提供一些基礎的功能,我們只需要在基礎功能之上搭建自己的操作即可。

1. flask - 輕量級  

2. webpy - 輕量級

3. tornado - 非同步框架

4. django - 重量級框架

mtv

m : models , 模型層,主要負責根據資料庫建模

t : templates , 模板層,處理使用者的顯示內容,如:html

v : views , 檢視,處理與使用者互動的內容(請求和響應)

mvcm : models , 模型層,主要負責根據資料庫建模

v : views , 檢視層,處理使用者的顯示內容的,如html

c : controller , 處理與使用者互動的內容(請求和響應)

flask是乙個基於python並且依賴於jinja2模板引擎和werkzeug wsgi服務的乙個微型框架。

flask中包含乙個輕量級的web 伺服器主要用於在開發階段測試使用。

wsgi : web server gateway inte***ce (web服務閘道器介面)

1.檢視已安裝的flask 及其版本

在python的互動模式中:

1. import flask

如果報錯: 說明匯入失敗,沒有安裝。

2. flask.__version__

已安裝flask的情況下,檢視其版本

2.安裝flask

sudo pip3 install flask

pip3 download flask

3.flask 的初始化

from flask import flask, url_for

def index( ):

return 『***』

if __name__=="__main__":

客戶端傳送請求給伺服器,伺服器需要將請求傳送給flask程式執行。

程式例項需要知道每個url請求對應的處理**是誰,所以程式中必須要有乙個url請求位址到python執行

函式的乙個對映,處理url和函式之間的關係程度就是「路由」。

1.路由的基本表示:

#

'/')

defindex()

:return

"***"

#manager/admin/login

'/manager/admin/login'

)def

login()

:return

"***"

2.帶引數的路由

路由中可以攜帶引數來表示要傳遞到檢視中的資料。

# 1.基本帶引數的路由

"/show/"

)def

show1

(name)

: name:表示的就是位址列上傳遞的資料

pass

# 2.指定引數型別的路由

# 允許在宣告路由時指定引數型別避免了在程式中再次轉換。

'/show/'

)def

show

(name,age)

: name:字串

age:整數

# int:型別轉換flask中所支援的型別轉換器:

型別轉換器      作用

預設 字串,不能有斜槓(/)

int: 整型

float: 浮點型

path: 字串,可以有斜槓(/)

3.多url 的路由匹配

為多個url訪問位址匹配同乙個檢視函式:

...def index():

pass

在flask中預設只能接收get請求,無法接收post接收。

在flask中允許設定可以接收的請求方式,如果請求方式不匹配的話,會響應回405(method not allowed)

def ***( ):

該函式既能接收post請求也能接收get請求。

在flask中,要實現反向解析:

url_for(funname, args)  

funname : 要生成位址的函式名

模板:就是在flask中就是允許響應給使用者看的【網頁】。

在模板中,允許嵌入動態的內容;

模板最終也會被解析成字串再響應給客戶端,這一過程稱為「渲染」。

flask中,模板是依賴於jinja2的模板系統,

預設情況下,flask會在程式目錄中搜尋乙個【templates】的目錄作為模板的存放目錄。

作用:在檢視中,將模板檔案(xx.html)渲染成字串以後,再響應給瀏覽器。

語法:

from flask import render_template  # 匯入方法

str = render_template('***.html')

引數: 要渲染的模版

返回值: 該模板中的字串內容

傳遞變數到模板中:

render_template('***.html', 變數=值, 變數=值, ...)

在模板中獲取變數的值:

}

在終端中:

命令:netstat -lptu

> 查詢到占用某埠的程序的pid號

命令:sudo kill -9 程序id

> 殺死這個程序

flask框架 路由

1.利用methods限制訪問方式 render template 返回頁面 request 一切瀏覽器請求的內容都封裝到request物件中 request.method 來判斷訪問方式 method 設定請求訪問方式 from flask import flask,render template...

CodeIgniter框架URL路由總結

uri 路由 一般來說,uri字串有著和它唯一對應的控制器 controller 類 方法。uri的各個部分是如下模式 pattern 複製 如下 然而在一些例子中,你也許想重定向這種關係來呼叫乙個不同的類 方法 class function 而不是與url一一對應 的呼叫 例如,你可能想使你的ur...

flask裡的路由變數 動態URL

有時我們需要將同一類 url 對映到同乙個檢視函式處理,比如 使用同乙個檢視函式來顯示不同使用者的個人資訊。這時可以設定路由變數讓檢視函式可以繫結動態url。設定路由變數 格式 路由變數 def user info user id return hello s user id在 web 開發中,可能...