- Flask 教程
- Flask - 首頁
- Flask - 概述
- Flask - 環境
- Flask - 應用
- Flask - 路由
- Flask - 變數規則
- Flask - URL構建
- Flask - HTTP 方法
- Flask - 模板
- Flask - 靜態檔案
- Flask - 請求物件
- 傳送表單資料到模板
- Flask - Cookie
- Flask - Session
- Flask - 重定向和錯誤
- Flask - 訊息閃現
- Flask - 檔案上傳
- Flask - 擴充套件
- Flask - 郵件
- Flask - WTF
- Flask - SQLite
- Flask - SQLAlchemy
- Flask - Sijax
- Flask - 部署
- Flask - FastCGI
- Flask 有用資源
- Flask - 快速指南
- Flask - 有用資源
- Flask - 討論
Flask – 變數規則
可以透過向規則引數新增可變部分來動態構建URL。此可變部分標記為<variable-name>。它作為關鍵字引數傳遞給與規則關聯的函式。
在以下示例中,route() 裝飾器的規則引數包含附加到URL ‘/hello’ 的<name> 可變部分。因此,如果在瀏覽器中輸入https://:5000/hello/TutorialsPoint 作為URL,則‘TutorialPoint’ 將作為引數提供給hello() 函式。
from flask import Flask
app = Flask(__name__)
@app.route('/hello/<name>')
def hello_name(name):
return 'Hello %s!' % name
if __name__ == '__main__':
app.run(debug = True)
將上述指令碼儲存為hello.py,並從Python shell執行它。接下來,開啟瀏覽器並輸入URL https://:5000/hello/TutorialsPoint。
瀏覽器將顯示以下輸出。
Hello TutorialsPoint!
除了預設的字串變數部分外,還可以使用以下轉換器構建規則:
| 序號 | 轉換器和描述 |
|---|---|
| 1 |
int 接受整數 |
| 2 |
float 用於浮點數 |
| 3 |
path 接受用作目錄分隔符的斜槓 |
在下面的程式碼中,使用了所有這些構造器。
from flask import Flask
app = Flask(__name__)
@app.route('/blog/<int:postID>')
def show_blog(postID):
return 'Blog Number %d' % postID
@app.route('/rev/<float:revNo>')
def revision(revNo):
return 'Revision Number %f' % revNo
if __name__ == '__main__':
app.run()
從Python Shell執行上述程式碼。在瀏覽器中訪問URL https://:5000/blog/11。
給定的數字用作show_blog() 函式的引數。瀏覽器顯示以下輸出:
Blog Number 11
在瀏覽器中輸入此URL:https://:5000/rev/1.1
revision() 函式將浮點數作為引數。瀏覽器視窗中出現以下結果:
Revision Number 1.100000
Flask 的URL規則基於Werkzeug’s 路由模組。這確保了生成的URL是唯一的,並且基於Apache制定的先例。
考慮以下指令碼中定義的規則:
from flask import Flask
app = Flask(__name__)
@app.route('/flask')
def hello_flask():
return 'Hello Flask'
@app.route('/python/')
def hello_python():
return 'Hello Python'
if __name__ == '__main__':
app.run()
這兩個規則看起來相似,但在第二個規則中,使用了尾部斜槓(/)。因此,它成為規範URL。因此,使用/python 或/python/ 返回相同的輸出。但是,對於第一個規則,/flask/ URL會導致404 未找到 頁面。
廣告
