【Flask】路由和URL
生活随笔
收集整理的這篇文章主要介紹了
【Flask】路由和URL
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、路由
@app.route('/index') #路由 def view_function(): #視圖函數return "hello kobe" #響應在程序中獲取路由信息
在應用中的url_map屬性中保存著整個Flask應用的路由映射信息,可以通過讀取這個屬性獲取路由信息
如果想在程序中遍歷路由信息,可以采用如下方式
for rule in app.url_map.iter_rules(): print('name={} path={}'.format(rule.endpoint, rule.rule))二、需求
通過訪問/地址,以json的方式返回應用內的所有路由信息
實現
三、動態路由(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:
訪問路徑為:http://192.168.112.217:8080/user/24
案例2:
訪問路徑: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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Flask】url_for函数
- 下一篇: 【Flask】request请求