日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Flask】路由和URL

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Flask】路由和URL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、路由

@app.route('/index') #路由 def view_function(): #視圖函數return "hello kobe" #響應

在程序中獲取路由信息
在應用中的url_map屬性中保存著整個Flask應用的路由映射信息,可以通過讀取這個屬性獲取路由信息

print(app.url_map)

如果想在程序中遍歷路由信息,可以采用如下方式

for rule in app.url_map.iter_rules(): print('name={} path={}'.format(rule.endpoint, rule.rule))

二、需求

通過訪問/地址,以json的方式返回應用內的所有路由信息
實現

@app.route('/') def route_list():rules_iterator=app.url_map.iter_rules()return json.dumps({rule.endpoint:rule.rule for rule in rules_iterator})

三、動態路由(URL路徑參數)

動態路由就是把請求參數作為路由中url的一部分

例如,有一個請求訪問的接口地址為/users/123,其中123實際上為具體的請求參數,表明請求123號用戶的信息。此時如何從url中提取出123的數據?

Flask不同于Django直接在定義路由時編寫正則表達式的方式,而是采用轉換器語法:

@app.route('/users/<user_id>') def user_info(user_id):print(type(user_id))return 'hello user {}'.format(user_id)

此處的<>即是一個轉換器,默認為字符串類型,即將該位置的數據以字符串格式進行匹配、并以字符串為數據類型類型、 user_id為參數名傳入視圖。

轉換器:負責提取動態url中的id數據,并且把id數據傳給視圖函數
案例1:

from flask import Flask,json#static_url_path:相當于路由 app = Flask(__name__,static_url_path='/zhilong',static_folder='static') #初始化Flask項目的服務@app.route('/') def hello_world():return "hello world"@app.route('/user/<int:user_id>') #動態路由就是把請求參數作為路由中url的一部分 def users(user_id): #轉換器:負責提取動態url中的id數據,并且把id數據傳給視圖函數print(type(user_id))return "當前訪問的用戶是:用戶{}".format(user_id)if __name__ == '__main__':#0.0.0.0:代表當前系統中的所有的ip地址 默認端口是5000,flask的debug模式:把錯誤信息顯示在頁面中app.run(host='0.0.0.0',port=8080,debug=False)

訪問路徑為:http://192.168.112.217:8080/user/24

案例2:

from flask import Flask,json#static_url_path:相當于路由 app = Flask(__name__,static_url_path='/zhilong',static_folder='static') #初始化Flask項目的服務@app.route('/') def hello_world():return "hello world"@app.route('/user/<int(min=1):user_id>') #動態路由就是把請求參數作為路由中url的一部分 def users(user_id): #轉換器:負責提取動態url中的id數據,并且把id數據傳給視圖函數print(type(user_id))return "當前訪問的用戶是:用戶{}".format(user_id)if __name__ == '__main__':#0.0.0.0:代表當前系統中的所有的ip地址 默認端口是5000,flask的debug模式:把錯誤信息顯示在頁面中app.run(host='0.0.0.0',port=8080,debug=False)

訪問路徑:http://192.168.112.217:8080/user/-3,頁面404,
原因@app.route(’/user/<int(min=1):user_id>’)中min=1設置為user_id最小為1,當url中傳入的值小于1時,會報404

四、Flask也提供其他類型的轉換器

DEFAULT_CONVERTERS = { 'default': UnicodeConverter, 'string': UnicodeConverter, 'any': AnyConverter, 'path': PathConverter, 'int': IntegerConverter, 'float': FloatConverter, 'uuid': UUIDConverter, }

總結

以上是生活随笔為你收集整理的【Flask】路由和URL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。