1.关于redirect和url_for先举个例子:
(1).redirect:
#重定向 302
#redirect:重定向URL
#url_for:重定向函数
from flask import Flask,redirect,url_for
app=Flask(__name__)
#重定向方式一
@app.route('/index')
def index():
#这样打开http://127.0.0.1:5000/index之后就跳转到百度页面了
return redirect('https://www.baidu.com')
if __name__=='__main__':
print('Pycharm')
app.run(debug=True)
浏览器中输入:http://127.0.0.1:5000/index 运行结果:跳转到百度页面了。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/5cbf82c622964095a84965009f45d7c1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAS2VlcF9UcnlpbmdfR28=,size_20,color_FFFFFF,t_70,g_se,x_16)
(2).关于url_for:
#重定向 302
#redirect:重定向URL
#url_for:重定向函数
from flask import Flask,redirect,url_for
app=Flask(__name__)
#重定向方式二
@app.route('/bd')
def index_copy():
name='tom'
return url_for('hello',name=name)
@app.route('/<string:name>')
def hello(name):
# return redirect('https://www.baidu.com')
return 'mylist_'+name
# return 'https://www.baidu.com'
if __name__=='__main__':
print('Pycharm')
app.run(debug=True)
浏览器中输入:http://127.0.0.1:5000/bd 运行结果: ![在这里插入图片描述](https://img-blog.csdnimg.cn/b9fdabb9398e4473b5d7a0a2365cabd3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAS2VlcF9UcnlpbmdfR28=,size_20,color_FFFFFF,t_70,g_se,x_16) 以上结果应该不是我们想要的,我们想要的结果应该是:mylist_tom 所以我们应该这样做:因为url_for只是定向到这个函数,而redirect则是定向到url。
![在这里插入图片描述](https://img-blog.csdnimg.cn/725055dcf88343468d4a5195787fce69.png) 运行结果: ![在这里插入图片描述](https://img-blog.csdnimg.cn/6c6ee4931fd44b50963988392f306f20.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAS2VlcF9UcnlpbmdfR28=,size_20,color_FFFFFF,t_70,g_se,x_16) 再举一个例子:
#重定向 302
#redirect:重定向URL
#url_for:重定向函数
from flask import Flask,redirect,url_for
app=Flask(__name__)
#重定向方式二
@app.route('/bd')
def index_copy():
name='tom'
return redirect(url_for('hello'))
@app.route('/')
def hello():
return redirect('https://www.baidu.com')
if __name__=='__main__':
print('Pycharm')
app.run(debug=True)
index_copy函数定向到hello函数,因为在hello函数使用redirect定向到百度,所以最后的结果是定向到百度: ![在这里插入图片描述](https://img-blog.csdnimg.cn/9cb186235e31447b9227f69183dda312.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAS2VlcF9UcnlpbmdfR28=,size_20,color_FFFFFF,t_70,g_se,x_16)
|