您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何使用Flask框架管理URL,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
動態URL規則
URL規則可以添加變量部分,也就是將符合同種規則的URL抽象成一個URL模式,如“/item/1/”,“/item2/”,假如不抽象,我們就得這樣寫:
@app.route("/item/1/")
動態URL寫法:
@app.route("/item1/<id>/") def item1(id): pass
尖括號的內容是動態的,凡是匹配到的/item/前綴的URL都會被映射到這個路由上,在內部把id作為參數而獲得。它使用了特殊的字段標記,默認類型是字符串。如果需要制定參數類型需要標記成這樣的格式,converter有下面幾種:
string:接收任何沒有斜杠”/”的文本(默認)
int:接收整數
float:同int,但是接收浮點數
path:和默認的相似,但也接收斜杠
uuid:只接受uuid字符串
any:可以指定多種路徑,但是需要傳入參數
@app.route("/any(a,b):page_info") def page_info(page_info): pass
訪問/a/和訪問/b/都符合這個規則,如果不希望定制子路徑,還可以通過傳遞參數的方式,例如:/item1?name=laowang。默認使用的是GET
方法才能請求,開發者可以通過request.args.get("name")
。如果需設定使用POST
請求,在URL后面,添加methods=["POST"]
,如app.route("/item1",methods=["POST"])
,開發者可以使用 request.form.get('name')
獲得傳入的name的值。
唯一URL
Flask的URL規則基于Werkzeug的路由模塊。這個模塊背后的思想是基于Apache以及更早的HTTP服務器的主張,希望保證優雅且唯一的URL。
舉個栗子:
@app.route("/about/") def about(): ...
上述栗子像一個文件系統中的文件夾,訪問一個結尾不帶斜線的URL會被重定向到帶斜線的規范的URL上去,這樣也有助于避免搜索引擎引同一個頁面兩次.
再舉個栗子:
@app.route("/about") def about(): ...
URL不帶斜線,當用戶訪問帶斜線的URL”/about/”會產生一個Not Found的錯誤。
上述內容就是如何使用Flask框架管理URL,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。