目录

一.URL传递参数

 二.URL反转内容

三.页面跳转与重定向


一.URL传递参数

有的时候,Flask页面需要具备传参的能力,其中URL方式传递参数用的比较多。

而flask框架通过URL方式传递参数的代码如下:

from flask import Flask
app=Flask(__name__)
@app.route('/')
def index():
    return '这是初始页面'
@app.route('/text1/<text2>')
def text1(text2):
    return "接收到的名称为:%s" % text2
if __name__=='__main__':
    app.run(debug=True)

在URL输入

http://127.0.0.1:5000/text1/text3

得到运行效果如下:

 Flask学习-基本使用-LMLPHP

 而传递int参数,则可以修改如下:

from flask import Flask
app=Flask(__name__)
@app.route('/')
def index():
    return '这是初始页面'
@app.route('/text1/<int:id>')
def text1(id):
    return "接收到的数字为:%s" % id
if __name__=='__main__':
    app.run(debug=True)

则只能传递数字

Flask学习-基本使用-LMLPHP

传递非数字则会报错

Flask学习-基本使用-LMLPHP

 二.URL反转内容

有的时候,我们需要得到当前访问请求函数的url,可以用url_for来得到,具体用法如下:

from flask import Flask,url_for
app=Flask(__name__)
@app.route('/')
def index():
    url1=(url_for('trans',id='121'))
    return "URL反转内容为:%s" %url1
@app.route('/trans/<id>')
def trans(id):
    return u"请求的参数为:%s" % id
if __name__=='__main__':
    app.run(debug=True)

运行效果如下:

Flask学习-基本使用-LMLPHP

三.页面跳转与重定向

有时候用户访问某个页面,而我们希望他登陆后才可以访问。

from flask import Flask,url_for,redirect
STATE=False
app=Flask(__name__)
@app.route('/')
def index():
    global STATE
    if STATE:
        return "登陆成功"
    else:
        url1=(url_for('login',id='123456'))
        return redirect(url1)
@app.route('/login/<id>')
def login(id):
    global STATE
    if id=="123456":
        STATE=True
        url1=(url_for('index'))
        return redirect(url1)
    else:
        url1=(url_for('loginfail'))
        return redirect(url1)
@app.route('/loginfail')
def loginfail():
    return "登陆失败"
if __name__=='__main__':
    app.run(debug=True)

 Flask学习-基本使用-LMLPHP

Flask学习-基本使用-LMLPHP

 

 

06-09 21:30