1. 程式人生 > >Flask web開發之路三

Flask web開發之路三

用戶訪問 abc gpo 得到 int bsp -a route ask

今天寫一個URL傳參、反轉URL、頁面跳轉和重定向

URL傳參

主app文件代碼:

from flask import Flask

app = Flask(__name__)


@app.route(/)
def hello_world():
    return Hello World!

@app.route(/article/<id>)
def article(id):
    return 您請求的參數是: %s %id

if __name__ == __main__:
    app.run()

### url傳參數:
1. 參數的作用:可以在相同的URL,但是指定不同的參數,來加載不同的數據。
2. flask中如何使用參數:
‘‘‘
@app.route(‘/article/<id>‘)
def article(id):
return ‘您請求的參數是: %s‘ %id
‘‘‘
* 參數需要放在兩個尖括號中。
* 視圖函數中需要放和url中的參數同名的參數

反轉URL

首先,正轉是指由URL中的參數得到視圖函數中的內容,那麽反轉就是指從視圖函數得到URL的參數內容

代碼如下:

from flask import Flask,url_for

app = Flask(__name__)


@app.route(/)
def index():
    print(url_for(my_list))
    print(url_for(article,id =abc))
    return Hello World!

@app.route(/list/)
def my_list():
    return list

@app.route(
/article/<id>/) def article(id): return 您請求是id是:%s % id if __name__ == __main__: app.run(debug=True)

輸出得到:

技術分享圖片

註意,這裏article函數,有id參數,在url_for函數中需要傳入參數,否則會報錯

### 反轉url:
1. 什麽叫做反轉url:從視圖函數到URL的轉換叫做反轉url
2. 反轉url的用處:
* 在頁面重定向的時候,會使用url反轉
* 在模板中,也會使用url反轉

頁面跳轉和重定向

代碼如下:

from flask import Flask,redirect,url_for

app 
= Flask(__name__) @app.route(/) def index(): login_url = url_for(login) return redirect(login_url) return 這是首頁! @app.route(/login/) def login(): return 這是登錄頁面! @app.route(/question/<is_login>/) def question(is_login): if is_login == 1: return 這是發布問答頁面 else: return redirect(url_for(login)) if __name__ == __main__: app.run(debug = True)

這裏實現的功能是:

1.登錄主頁即可跳轉到‘login‘登錄頁面

2.如果‘is_login’這個參數不為1,則會跳轉到登錄頁面

### 頁面跳轉和重定向
1. 用處:在用戶訪問一些需要登錄的頁面的時候,如果用戶滿意登錄,那麽可以讓他重定向到登錄頁面
2.代碼實現:
‘‘‘
from flask import redirect,url_for
redirect(url_for(‘login‘))
‘‘‘

Flask web開發之路三