8Flask实战第8天:add_url_rule和app.route原理

Posted 何波安的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8Flask实战第8天:add_url_rule和app.route原理相关的知识,希望对你有一定的参考价值。

之前我们使用@app.route这个装饰器来把视图函数和url绑定

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

而且我们可以通过url_for(\'hello_world\')反转得到url \'/\'

实际上我们可以给这个装饰器再加上endpoint参数,给这个url命名

@app.route(\'/\', endpoint=\'index\')
def hello_word():
    return \'hello world\'

一旦我们使用了endpoint参数,在使用url_for()反转的时候就不能使用视图函数名了,而是要用我们定义的url名

url_for(\'index\')

另外一种方式绑定视图函数和url,那就是add_url_rule

先在app = Flask(__name__)下面输入app.add_url_rule, 然后按住ctrl点击它查看源码

  rule:  设置url

  endpoint:  给url设置的名字

  view_func:  视图函数

因此,我们可以这样用

def my_list():
    return \'my list\'

app.add_url_rule(rule=\'/list/\', endpoint=\'list\', view_func=my_list)

如果要使用url_for反转的话也是: url_for(\'list\')

 

实际上,我们看@app.route这个装饰器的源码,也是用add_url_rule

以上是关于8Flask实战第8天:add_url_rule和app.route原理的主要内容,如果未能解决你的问题,请参考以下文章

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

100天精通Oracle-实战系列(第6天)Linux 8 安装单机 Oracle 19C CDB 数据库

100天精通Oracle-实战系列(第8天)保姆级 PL/SQL Developer 安装与配置

100天精通Oracle-实战系列(第8天)保姆级 PL/SQL Developer 安装与配置

8Django实战第8天:session和cookie自动登录机制

1Django实战第1天:建立项目mxonline