1. 程式人生 > >python flask學習第2天 URL中兩種方式傳參

python flask學習第2天 URL中兩種方式傳參

 

新建立專案 

 自己寫個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')來進行獲取。