在python中用url_for构造URL的方法

yipeiwu_com7年前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正则表达式 findall函数问题详解

在写正则表达式的时候总会遇到不少的问题, 特别是在表达式有多个元组的时候。下面看下re模块下的findall()函数和多个表达式元组相遇的时候会出现什么样的坑。 代码如下: impo...

python中的for循环

python中的for循环

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。 语法: for循环的语法格式如下: for iterating_var in sequence:...

分享一个可以生成各种进制格式IP的小工具实例代码

分享一个可以生成各种进制格式IP的小工具实例代码

前言 在开始本文之前,先来介绍一下相关内容,大家都知道一些防护SSRF漏洞的代码一般使用正则来判断访问IP是否为内部IP,比如下面这段网上比较常见的正则: if re.match(r...

python中cPickle类使用方法详解

在python中,一般可以使用pickle类来进行python对象的序列化,而cPickle提供了一个更快速简单的接口,如python文档所说的:“cPickle – A faster...

pyqt5、qtdesigner安装和环境设置教程

pyqt5、qtdesigner安装和环境设置教程

前言 最近工作需要写一个界面程序来调用摄像头并对摄像头采集的图像做一些处理。程序需要使用Python语言编写,经过调研发现PyQt5配合QtDesigner在界面程序编写方面具有功能丰富...