Flask中关于url_for使用的坑

一、url_for在视图函数中的作用
可以实现和redirect类似的效果,实现定向跳转

url_for和redirect区别
1、两者用来重定向的时候,被操作的对象不同。
2、redirect直接是url,就是app.route的路径参数。
3、url_for()是对视图函数进行操作。
实例:

from flask import Flask,request,redirect,url_for,render_template,Response,jsonify,make_response
app = Flask(name)

@app.route(’/a’)
def a():
return redirect(url_for(‘index’)) # url_for直接对视图函数访问

@app.route(’/b’)
def b():
return redirect(“http://127.0.0.1:5000/index”) # redirect直接对route的路径(完整路径)访问

@app.route(’/index’)
def index():
return “我是首页”

if name == ‘main’:
app.run()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
二、url_for在HTML中的使用
1、如果后端创建蓝图使用方法是

蓝图对象.视图函数
Flask中关于url_for使用的坑
登录
首页

2、如果未创建蓝图对象

登录
首页