Python 路由
Python 路由
路由是將URL直接映射到創建網頁的代碼的機制。它有助于更好地管理網頁的結構,并顯著提高網站的性能,并且進一步的增強或修改將變得非常簡單。在python中,路由是在大多數網絡框架中實現的。我們將在本章中看到flask Web框架中的示例。
1. Flask路由
Flask中的route()裝飾器用于將URL綁定到函數。當在瀏覽器中訪問對應URL時,將執行該函數以給出結果。此處,URL => /hello規則綁定到hello_world()函數。如果用戶訪問URL => http://localhost:5000/ ,則hello_world()函數的輸出將在瀏覽器中顯示。
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.090948.com # Date : 2020-08-25 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello Codebaoku' if __name__ == '__main__': app.run()
當運行上面的程序時,得到以下輸出:
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.090948.com # Date : 2020-08-25 * Serving Flask app "flask_route" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 127.0.0.1 - - [06/Aug/2019 09:48:45] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [06/Aug/2019 09:48:46] "GET /favicon.ico HTTP/1.1" 404 - 127.0.0.1 - - [06/Aug/2019 09:48:46] "GET /favicon.ico HTTP/1.1" 404 -
打開瀏覽器并指向URL=> http://localhost:5000/以查看函數執行的結果。
2. 使用URL變量
我們可以使用路由傳遞URL變量以動態構建URL。使用url_for()函數,該函數將函數名稱作為第一個參數,并將其余參數作為URL規則的可變部分。
在下面的示例中,我們將函數名稱作為參數傳遞給url_for()函數,并在執行這些行時打印出結果。
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.090948.com # Date : 2020-08-25 from flask import Flask, url_for app = Flask(__name__) @app.route('/') def index(): pass @app.route('/login') def login(): pass @app.route('/user/') def profile(username): pass with app.test_request_context(): print url_for('index') print url_for('index', _external=True) print url_for('login') print url_for('login', next='/') print url_for('profile', username='fit su')
當我們運行上面的程序時,得到以下輸出:
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.090948.com # Date : 2020-08-25 / http://localhost/ /login /login?next=%2F /user/fit%20su
3. 重定向
可以使用重定向功能通過路由將用戶重定向到另一個URL。提到了新的URL作為函數的返回值,該函數應該重定向用戶。當我們在修改網頁的一些問題時,將用戶暫時轉移到其他頁面時,這很有用。
# Filename : example.py # Copyright : 2020 By Codebaoku # Author by : www.090948.com # Date : 2020-08-25 from flask import Flask, abort, redirect, url_for app = Flask(__name__) @app.route('/') def index(): return redirect(url_for('login')) @app.route('/login') def login(): abort(401) # this_is_never_executed()
執行以上代碼后,基本URL會轉到使用中止功能的登錄頁面,因此永遠不會執行登錄頁面的代碼。
相關文章
- python如何遍歷字符串中每一個字符
- Python讀寫csv文件的操作方法
- Python的gtts庫將文字轉為音頻應該如何操作
- Python中find函數如何使用
- Python迭代器如何創建使用
- Python如何利用手勢識別實現貪吃蛇游戲
- Python網絡爬蟲之如何獲取網絡數據
- Python 網絡編程
- Python IP地址
- Python HTTP請求
- Python Socket程序
- Python 構建URL
- Python POP3
- Python FTP
- Python 代理服務器
- Python 并發簡介
- Python 線程
- Python 線程并發
- Python 線程池
- Python 多處理器