from flask import Flask,url_for app = Flask(__name__) @app.route('/') def hello_world(): # 构建url :/list/ # 研究app.add_url_rule()方法,若方法中【没有加】上endpoint时,可通过原来的函数名构建url,即url_for('原函数名') # print(url_for('my_list')) # 研究app.add_url_rule()方法,若方法中【加上】endpoint时,不能再通过原来的函数名构建url,而需要endpoint的值才行 # 即url_for('endpoint值') # print(url_for('mli')) #/list/ #构建url:/profile/ # print(url_for('profile')) print(url_for('pf')) return 'Hello World!' # @app.route('/profile/') @app.route('/profile/',endpoint='pf') def profile(): return '个人信息' def my_list(): return '我是列表项' #通过app对象的add_url_rule方法 来完成url与视图函数的映射 # app.add_url_rule('/list/',view_func=my_list) app.add_url_rule('/list/',endpoint='mli',view_func=my_list) # 讨论:add_url_rule()方法 与@app.route()装饰器的关系 # 结论:@app.route()装饰器 底层就是借助于add_url_rule()方法来实现的 if __name__ == '__main__': app.run()
老师,代码运行后http://127.0.0.1:5000/profile/这个路径可以正常访问
http://127.0.0.1:5000/pf/这个路径就会出错