flask教程之路由的使用


route()裝飾器把一個函數綁定到對應的url上

結合我們之前的例子如下:

@app.route("/")
def index():
    return "Index Page"

@app.route('/main')
def hello_world():
    if __name__=='main':
        return 'Hello World!'
   
else:
        return "hello my name is "+__name__

運行代碼后

 

Main頁面如圖:

 

以上是靜態url的配置規則,下面我們來看一下動態url如何配置

動態url,即在url中可以動態傳入參數,和函數實現動態交互

比如,我們通過在url中加入一個名字,動態輸出這個名字,如圖:

 

要實現這個效果只需要在route裝飾器中加入參數即可如下:

@app.route("/<name>")
def helloSomeone(name):
    return "hello "+name

 

可以看到在route的url配置中加入變量的規則是通過使用<>把變量包起來,然后加入變量名,名字要和函數的參數名一致如上的<name>

 

限定url參數的數據類型,可以通過<類型:名稱>這樣的格式,比如可以限制<int:name>這樣當在參數中輸入非int類型的時候,會返回404錯誤

 

用url_for反向獲取函數的url

首先要引入url_for

from flask import Flask,url_for

創建getUrls函數

@app.route("/getUrls")
def getUrls():
    url = url_for("index") + ","
   
url += url_for("hello_world")+","
   
url += url_for("helloSomeone",name="li si")

 

運行並且訪問,結果如下:

 

通過url_for方法可以在開發過程中反向查看特定函數的url信息,是一個比較有用的工具。

url_for還有一個比較特殊的用法,url_for(‘static’,filename=’xxx’)

這個用法主要用來返回static文件夾下面的某個文件的路徑,比如在static文件夾下面添加一個myfile.js文件

 

用url_for進行查詢:

 

運行查看結果

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM