码迷,mamicode.com
首页 > 移动开发 > 详细

add_url_rule和app.route

时间:2018-01-19 14:09:27      阅读:1560      评论:0      收藏:0      [点我收藏+]

标签:div   ima   9.png   body   point   函数名   lis   post   绑定   

app.route

在Flask框架中,默认是使用@app.route这个装饰器来把视图函数和url绑定,如:

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

我们可以通过url_for(‘hello_world‘)反转得到url ‘/‘,实际上我们可以给这个装饰器在加上endpoint参数(给这个url命名)

@app.route(‘/‘,endpoint=‘index‘)
def hello_world():
    return ‘hello world‘

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

url_for(‘index‘)

 

add_url_rule

除了使用@app.route装饰器,我们可以可以使用add_url_rule来绑定视图函数和url

在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

技术分享图片

add_url_rule和app.route

标签:div   ima   9.png   body   point   函数名   lis   post   绑定   

原文地址:https://www.cnblogs.com/sellsa/p/8316260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!