在python中用url_for构造URL的方法

yipeiwu_com6年前Python基础

用url_for构造URL,他接受函数名作为第一个参数,也接受对应URL规则的变量部分的命名参数,未知的变量部分会添加到URL末尾作为查询参数。

构建URL而不选择直接在代码中拼URL的原因有两点:

1)在未来有更改的时候只需要一次性修改URL,而不用到处替换;

2)URL构建会转义特殊字符和Unicode数据,

这些工作不需要我们自己处理。

下面是个例子:

from flask import Flask,url_for

app = Flask(__name__)

@app.route('/example/1/')
def example(id):
 pass

with app.test_request_context():
 print url_for('example',id=1)
 print url_for('example',id=2,next='/')

#text_request_context帮助我们在交互模式下产生请求上下文。

执行结果:

/example/1/?id=1
/example/1/?id=2&next=%2F

以上这篇在python中用url_for构造URL的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python序列对象与String类型内置方法详解

本文实例讲述了Python序列对象与String类型内置方法。分享给大家供大家参考,具体如下: 前言 在Python数据结构篇中介绍了Python的序列类型数据结构,这次继续深入的学习序...

24式加速你的Python(小结)

24式加速你的Python(小结)

一,分析代码运行时间 第1式,测算代码运行时间 平凡方法 快捷方法(jupyter环境) 第2式,测算代码多次运行平均时间 平凡方法 快捷方法(jupyter环境) 第3式,按调...

深入浅析Python传值与传址

1. 传值与传址的区别 传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变:...

对Python中一维向量和一维向量转置相乘的方法详解

对Python中一维向量和一维向量转置相乘的方法详解

在Python中有时会碰到需要一个一维列向量(n*1)与另一个一维列向量(n*1)的转置(1*n)相乘,得到一个n*n的矩阵的情况。但是在python中, 我们发现,无论是“.T”还是...

Python中使用PyQt把网页转换成PDF操作代码实例

代码很简单,功能也很简单 =w= webpage2pdf #!/usr/bin/env python3 import sys try: from PyQt4 import...