构建URL

生成网址

为一个特定的函数构建网址, 使用 url_for()函数,接受函数名作为第一个参数,...还有一些关键字参数,每个参数对应网址规则中的一个变量部分

位置变量附加到网址后作为查询参数,例:

from flask import Flask, url_for

app = Flask(__name__)

@app.route('/')

def index():

  pass

 

@app.route('login')

def login():

  pass

 

@app.route('/user/<username>')

def profile(usernme):

  pass

with app.test_request_context():

  print(url_for ('index'))

  print(url_for('login'))

  print(url_for('login', next='/'))

  print(url_for('profile', username='Clay'))

#这里用到test_request_context()函数,主要是告知Flask,此刻正在处理一个request

#构建网址(而未在模版中编码)的好处:

# 反向解析比硬编码网址更具描述性,尤其是:只需在一个地方更改网址,而不用到处做更改

# 网址构建过程为自动处理特殊字符和unicode数据转义,这些都是透明可见的

#如果应用程序位于根路径以外的地方(如 在/myapplication,而不是/),url_for()可以妥善处理这些问题

posted @ 2018-05-31 20:36  车之一  阅读(176)  评论(0)    收藏  举报