Flask框架講解(二)

2021-10-24 18:00:56 字數 2752 閱讀 8893

1.1 構造url(url_for)

一般我們可以通過url 去執行某一函式,如果反過來,我們如何通過乙個函式去知道url呢?

url_for函式就可以幫我們實現這個功能。url_for()函式接收兩個及以上的引數,他接收函式名作為第乙個引數,接收對應url規則的命名引數,如果還出現其他的引數,則會新增到url的後面作為查詢引數。如下:

from flask import flask,url_for

'/web/'

)def

web(i)

:return

'學習web第{}章'

.format

(i)'/'

)def

www():

print

(url_for(

'web'

,i =1)

)return

'首頁'

if __name__ ==

'__main__'

:true

)

通過構建url的方式而選擇直接在**中拼url的原因有兩點:

1.2 指定url末尾的/

有/和沒有/,完全是兩個不同的url

'/www/'

)#末尾有斜槓

defarticles()

:return

'文章列表頁'

'/www'

)# 末尾沒有/

當訪問乙個結尾不帶斜線的url時,會被重定向到帶斜線的url上去,如果在末尾沒有加上斜槓,但是在訪問的時候又加上了斜槓,這時候就會報出錯誤頁面

1.3 指定http方法

from flask imporrt flask,request

'/',methods=

['get'

,'post'])

#設定,讓url即支援get又支援post

defhello()

:#request.args.get('name') # 使用的是get請求

request.

from

.get(

'name'

)#使用的是post請求

return

'hello'

if __name__ = __main__:

true

)輸出結果

1學習web第222章

1.4 頁面跳轉和重定向

重定向分為永久性重定向和暫時性重定向,在頁面上體現的操作就是瀏覽器會從乙個頁面自動跳轉到另外乙個頁面

from flask import flask,request,redirect,url_for

'/')

defwww()

:return

'首頁'

'/we/'

)def

web():

name = request.args.get(

'name'

)#進行重定向

if name:

return name

else

:return redirect(url_for(

'www'

),code=

301)

#使用url_for,這樣不管url怎麼變得,只要函式不變,就不影響,指定"code=301"可以給他新增永久重定向,預設是code=302臨時重定向

if __name__ ==

'__main__'

:true

)輸出結果:http:

.0.1

:5000

/we/?name=

666顯示 666

#當url中有name,這個值時,就直接輸出name值,否則重定向到'/'路由下,顯示結果「首頁」

響應:

中文意思是指其如迴響的應答聲,響應你的要求,比喻應答敏捷。

在程式中指反應的時間。

檢視函式可以返回以下型別:

response物件

字串型別

元組型別

如果不上以上三種型別,那麼flash將自動轉化為response.force_type(rv,request.environ)轉換為乙個請求物件

from flask import flask,response

'/bout/'

)def

ceshi()

:# return 'chany'

# return [1,2,3] 報錯返回型別必須是字串,字典,元組,response例項或可呼叫的wsgi

# return

# return ('name','python')

# return 'python' , 300 設定響應的時間

return response(

'hello'

)return response(

'python'

,status=

200,mimetype=

'test/html'

)#status:響應時間,mimetype:設定支援檔案型別

return make_response #和上方的response相同

if __name__ ==

'__main__'

:true

)

(二)初次使用flask框架

一 環境 centos release 6.7 final python 2.7.6 二 安裝flask框架 pip install flask web伺服器把接收到的客戶端的請求都會轉交給flask程式例項進行處理,所以需要建立乙個flask例項才能夠處理程式的請求。1 首先需要匯入需要的包fro...

web開發框架Flask學習二

jinja2模板規範 在當前專案中建立乙個檔案為templates的資料夾,將其設定為模板資料夾,新建的html為模板頁面,在檢視函式中使用render template html的檔案 my list mylist my list作為在模板頁面使用的的變數 過濾器 符號 管道左邊作為輸入傳乙個變數...

flask框架(一) 初識Flask

一 初識flask 1.什麼是flask flask是乙個python編寫的web框架,只是乙個核心,預設依賴2個外部庫 jinja2模板引擎和wsgi工具集 werkzeug。2.安裝flask pip install flask3.建立flask程式 專案目錄詳解 static資料夾 用於存放各...