python flask學習第2天 URL中兩種方式傳參
阿新 • • 發佈:2018-12-06
新建立專案
自己寫個url對映到自定義的檢視函式
在url中傳遞引數
app.py
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' #自定義訪問返回結果 @app.route('/list/') def article_list(): return 'article list' #帶引數傳遞 @app.route('/article/<id>/') def article(id): return '%s article' % id if __name__ == '__main__': app.run()
執行訪問
其中<id>
,尖括號是固定寫法,語法為<variable>
,variable
預設的資料型別是字串。如果需要指定型別,
則要寫成<converter:variable>
,其中converter
就是型別名稱,可以有以下幾種:
- string: 預設的資料型別,接受沒有任何斜槓
/
- int: 整形
- float: 浮點型。
- path: 和
string
類似,但是可以傳遞斜槓/
。 - uuid:
uuid
型別的字串。 -
any:可以指定多種路徑,這個通過一個例子來進行說明:
@app.route('/<any(article,blog):url_path>/') def item(url_path): return url_path
以上例子中,
item
這個函式可以接受兩個URL
,一個是/article/
,另一個是/blog/
。並且,一定要傳url_path
引數,當然這個url_path
的名稱可以隨便。
如果不想定製子路徑來傳遞引數,也可以通過傳統的?=
/article?id=xxx
,這種情況下,可以通過request.args.get('id')
來獲取id
的值。如果是post
方法,則可以通過request.form.get('id')
來進行獲取。