3、Flask实战第3天:url_for使用

我们之前是通过url来找到对应的视图函数

  /     =>    hello_world

那么url_for则是通过视图函数找到url

  hello world  =>  /

演示如下

...
from flask import url_for


@app.route('/')
def hello_world():
    return url_for('my_list')


@app.route('/list/')
def my_list():
    return 'list page'

如果url带有参数的话,我们应该如下使用url_for

...
from flask import url_for

@app.route('/')
def hello_world():
    return url_for('my_list', page_id=1)


@app.route('/list/<page_id>/')
def my_list(page_id):
    return 'list page'

如果url只配置了一个参数,而url_for设置了多个

...
from flask import url_for

@app.route('/')
def hello_world():
    return url_for('my_list', page_id=1, count=2)


@app.route('/list/<page_id>/')
def my_list(page_id):
    return 'list page'

为什么要使用url_for呢?

当我们视图函数确定了,以后我们的url不管怎么变,只要通过url_for都能够正确地得到url,因为改变url的频率一般大于视图函数。

url_for会自动处理特殊的字符

 

posted @ 2018-06-29 15:47  sellsa  阅读(1310)  评论(1编辑  收藏  举报