flask第八篇——url_for【1】

我们已经知道,知道了url就可以找到对应的视图函数,那么现在问题来了,如果我们知道了视图函数,要怎么找到url呢?这时候我们就需要url_for函数了。 # coding: utf-8 from flask import Flask, url_for import flask app = Flask(__name__) # type: Flask app.debug = True # 根目录 @app.route('/') def hello_world(): return 'Hello World!' @app.route('/login/') def login(): print url_for('hello_world') return 'success' if __name__ == '__main__': app.run() 运行上面代码: 可以看到控制台打印出了hello_world函数的url。 当我们讲了模板以后,经常会遇到a标签比如我们都知道href里面放的是一个链接,试想现在我们判断用户是否登录成功,如果登录成功就跳转到p1页面,登录失败就跳转到p2页面,那么我们一般是不会再href里直接贴p1页面的url的,因为一旦p1页面地址改变,那么贴的url就会失效,试想你那么多代码,怎么可能记得住p1的url都在哪里用了呢?这时候就可以看到url_for的好处了,就是说我们会在href里放url_for我们需要反转的函数。 再看一个例子: # coding: utf-8 from flask import Flask, url_for import flask app = Flask(__name__) # type: Flask app.debug = True # 根目录 @app.route('/') def hello_world(): return 'Hello World!' @app.route('/login/') def login(): return url_for('hello_world') @app.route('/list/') def mylist(): return url_for('login') if __name__ == '__main__': app.run() 这时候进入http://127.0.0.1:5000/list/页面,就可以看到login的url了: 关注微信公众号:自动化测试实战,查看清晰排版,更多内容
原文地址:https://www.cnblogs.com/captainmeng/p/8532174.html