Flask框架從入門到精通之路由(三)

〆 小源。發表於2019-04-19

知識點:
1、路由
2、重定向
3、請求方式
4、PostMan使用

一、概況

說到路由,其實就是我們在瀏覽器輸入地址後,後臺進行匹配,如果匹配上,則執行此檢視函式並返回內容。我們經過前面的例子也看出來Flask是用一個叫route()的裝飾器進行裝飾到檢視函式上。 匹配的內容是去掉域名和埠後面地址,比如:http://127.0.0.1:8000/index這個地址,去掉域名和埠後就剩下/index這部分內容,所有我們只要裝飾/index就可以了。

二、路由

我們來寫一個首頁檢視和個人中心檢視,並用路由裝飾上。 提示:如果你沒有設定DEBUG = True,請重新執行伺服器 如下:

from flask import Flask

app = Flask(__name__)


@app.route('/')  # 代表首頁
def index():  # 檢視函式
    return 'my index !'  # 返回內容


@app.route('/center')  # 代表個人中心頁
def center():  # 檢視函式
    return 'my flask!'  # 返回內容


if __name__ == '__main__':
    # 0.0.0.0代表任何能代表這臺機器的地址都可以訪問
    app.run(host='0.0.0.0', port=5000)  # 執行程式

複製程式碼

我們在瀏覽器上輸入```http://127.0.0.1:5000/``,返回的內容是:

在這裡插入圖片描述

我們在瀏覽器上輸入http://127.0.0.1:5000/center,返回的內容是:

在這裡插入圖片描述

三、重定向

重定向是網站比較常用的地址跳轉,比如我們在網站登入後,需要重新跳轉到首頁,這個功能我們就可以用到重定向。在Flask中重定向需要用到下面模組:

from flask import redirect, url_for
複製程式碼

redirect函式用於重定向。 url_for引數是檢視函式函式的名字,它會根據檢視函式的名字找到裝飾次檢視的路由。

from flask import Flask
from flask import abort, redirect, url_for

app = Flask(__name__)


@app.route('/')  # 代表首頁
def index():  # 檢視函式
    return 'my index !'  # 返回內容


@app.route('/center')  # 代表個人中心頁
def center():  # 檢視函式
    return 'my flask!'  # 返回內容


@app.route('/login')  # 代表登入
def login():  # 檢視函式

    return redirect(url_for('index'))


if __name__ == '__main__':
    # 0.0.0.0代表任何能代表這臺機器的地址都可以訪問
    app.run(host='0.0.0.0', port=5000)  # 執行程式

複製程式碼

我們在瀏覽器輸入http://127.0.0.1:5000/login會發現重定向到了首頁。在瀏覽器檢查我們也可以看到:

在這裡插入圖片描述

四、請求方式

我們知道HTTP有很多的請求方式,每中請求方式都代表不同的意思。常用的請求方式有:

請求方式 含義
GET 獲取資源
POST 新增資源
PUSH 更新資源
DELETE 刪除資源
OPTIONS 詢問支援的方法

我們登入功能都會採用POST方式做,我們現在的登入檢視是GET請求,那麼我們把登入檢視改成支援POST

@app.route('/login',methods=['POST'])  # 代表登入
複製程式碼

這個時候我在瀏覽器再訪問一下:

在這裡插入圖片描述
這個錯誤的意思就是請求方式不允許,因為在瀏覽器地址輸入的這種請求方式是GET請求。不過我們可以借用PostMan這樣的工具模擬POST請求。
在這裡插入圖片描述
還是可以看出來,它返回的是重定向到首頁的內容。

歡迎關注我的公眾號:

Flask框架從入門到精通之路由(三)

相關文章