Flask实战第3天:url_for使用

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

  /     =>    hello_world

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

  hello world  =>  /

演示如下

#coding=utf-8
from flask import Flask
from  flask import url_for

app=Flask(__name__)
@app.route("/")
def hello_world():
    return url_for('my_list')

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

if __name__ =='__main__':
    app.run(host='127.0.0.1') # 运行,指定监听地址为127.0.0.1:8080

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

coding=utf-8
from flask import Flask
from  flask import url_for

app=Flask(__name__)
@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"

if __name__ =='__main__':
    app.run(host='127.0.0.1') # 运行,指定监听地址为127.0.0.1:8080

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

from flask import Flask
from  flask import url_for

app=Flask(__name__)
@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"

if __name__ =='__main__':
    app.run(host='127.0.0.1') # 运行,指定监听地址为127.0.0.1:8080

为什么要使用url_for呢?

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

url_for会自动处理特殊的字符

坚持学习,提升~~up,up

原文地址:https://www.cnblogs.com/xinbaby2358/p/10273710.html