python框架flask系列(2),Python全栈(七)Flask框架之2.Flask视图和模板

本文介绍了如何使用Flask的url_for函数构建URL,以及指定URL末尾的斜杠。通过url_for,我们可以方便地根据函数名获取对应的路由,即使URL改变也不需要手动更新所有引用。此外,文章还涵盖了指定HTTP方法、页面重定向、响应(Response)的使用,以及Flask模板的基本概念和参数传递。示例代码展示了url_for在不同场景下的应用,包括无参数和带参数的情况。
摘要由CSDN通过智能技术生成

文章目录一、url_for构造URL和指定地址末尾的/1.通过url_for构造URL2.指定URL末尾的斜杠二、指定HTTP方法三、页面跳转和重定向四、函数的返回值 – 响应(Response)五、flask模板简介六、flask模板传参

一、url_for构造URL和指定地址末尾的/

1.通过url_for构造URL

一般我们通过一个URL就可以映射到某一个函数。反过来,知道一个函数时,也可以获得对应的URL,url_for()函数可以进行反转、实现这个功能。

url_for()函数接收一个及以上的参数,第一个参数是函数名,接收对应URL规则的命名参数,如果函数中有参数,则将这些参数传入url_for()函数第一个参数的后面。

进行测试:

from flask import Flask,url_for

app = Flask(__name__)

@app.route('/')

def index():

# 根据函数的名字进行反转,得到函数对应的路由

print(url_for('article_list',aid=2))

return 'Hello World'

@app.route('/article/')

def article_list(aid):

return 'article %s' % aid

if __name__ == '__main__':

app.run(debug=True)

运行开启服务后访问http://127.0.0.1:5000/,打印

127.0.0.1 - - [09/Apr/2020 16:46:24] "GET /article/3 HTTP/1.1" 200 -

127.0.0.1 - - [09/Apr/2020 16:46:30] "GET / HTTP/1.1" 200 -

/article/2

显然,此时通过url_for()方法得到了一个函数对应的路由,并显示在日志中;

有参数时,调用url_for()方法也要传入参数。

通过url_for()函数来构建URL从而在代码中拼URL的好处有两点:

将来如果修改了URL,但没有修改该URL对应的函数名,就可以直接通过url_for()函数来获取地址而不用手动替换所有对应的URL。

url_for()函数可以转义一些特殊字符和unicode字符串,这在有时候显得很有用。

进一步测试:

from flask import Flask,url_for

app = Flask(__name__)

@app.route('/')

def index():

print(url_for('article_list',aid=2))

print(url_for('notice'))

print(url_for('follow', fid=2,page=5))

return 'Hello World'

@app.route('/article/')

def article_list(aid):

return 'article %s' % aid

@app.route('/notice')

def notice():

return 'Notice is as follows'

@app.route('/follows/')

def follow(fid):

return 'Follower %s' % fid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值