Flask学习第6天(app.add_url_rule调用路由)

青春须早为,岂能长少年。这篇文章主要讲述Flask学习第6天:app.add_url_rule调用路由相关的知识,希望能为你提供帮助。
一、使用url_for别名方式
之前使用@app.route这个装饰器来把视图函数和url绑定。而且可以通过url_for(‘hello_world‘)反转得到url  ‘/‘

@app.route(‘/‘) def hell_world(): return ‘hello world‘

实际上可以给@app.route这个装饰器再加上endpoint参数,给这个url别名。一旦使用了endpoint参数,在使用url_for()反转的时候就不能使用视图函数名了,而是要用定义的url别名。
from flask import Flask,url_for app=Flask(__name__) @app.route(‘/< path:url> ‘,endpoint=‘name1‘)# 加上endpoint参数,给这个url别名 def first_flask(url): print(url_for(‘name1‘,url=url))# 如果设置了url参数,url_for(别名,加参数) return ‘Hello World‘if __name__ == ‘__main__‘: app.run()

 
二、另外一种方式绑定视图函数和url,那就是add_url_rule
先在app = Flask(__name__)下面输入app.add_url_rule, 然后按住ctrl点击它查看源码
Flask学习第6天(app.add_url_rule调用路由)

文章图片

rule:  设置url
endpoint:  给url设置的名字
view_func:  视图函数
因此可以这样用
app=Flask(__name__)def first_flask(): return ‘Hello World‘ app.add_url_rule(rule=‘/index/‘,endpoint=‘name1‘,view_func=first_flask,methods=[‘GET‘]) #app.add_url_rule(rule=访问的url,endpoint=路由别名,view_func=视图名称,methods=[允许访问的方法]) if __name__ == ‘__main__‘: app.run()

【Flask学习第6天(app.add_url_rule调用路由)】如果要使用url_for反转的话也是: url_for(‘name1‘)
 
实际上看@app.route这个装饰器的源码,也是用add_url_rule
Flask学习第6天(app.add_url_rule调用路由)

文章图片

转载:https://www.cnblogs.com/sellsa/p/9248170.html

    推荐阅读