flask第九篇——url_for【2】

2018-05-21 10:45:53 浏览数 (2)

上一节说的是没有参数的url_for,如果没有参数,可以直接url_for('函数名')那如果我们构造的函数是:

代码语言:javascript复制
@app.route('/login/<page_id>/')
def login(page_id):
    return u'登录页面'

这时候url_for该怎么传呢?

我们先来看一下url_for的源码:

我们注意到url_for可以传“两个”参数:

  • endpoint:结束点,即我们传的函数名
  • **values:关键字参数即key=value形式

那我们现在就知道该怎么办了:

代码语言:javascript复制
# coding: utf-8

from flask import Flask, url_for
import flask

app = Flask(__name__)  # type: Flask
app.debug = True

# 根目录@app.route('/')
def hello_world():

    return 'Hello World!'

@app.route('/login/<page_id>/')
def login(page_id):
    return u'登录页面'

@app.route('/list/')
def mylist():
    return url_for('login', page_id=1)

if __name__ == '__main__':
    app.run()

我们只需要像上面代码里一样,给url_for多传递一个参数即可,保存(Ctrl s 以后不再强调了)以后,来到页面可以看到:

再提醒大家一次,手机阅读时候代码是可以左右滑动的哦~~

0 人点赞