python的flask框架怎么跳转到别的页面_flask框架url与重定向操作实例详解

本文详细介绍了Flask框架中URL与函数的映射、传入参数、类型限制、以及使用url_for构造URL和重定向操作。通过示例展示了如何通过@app.route()定义URL,如何接收URL参数,如何进行类型限制,以及如何使用url_for和redirect进行URL构造和重定向。同时,文章还讨论了使用url_for的好处和指定HTTP请求方法的方法。
摘要由CSDN通过智能技术生成

本文实例讲述了flask框架url与重定向操作。分享给大家供大家参考,具体如下:

1. url与函数的映射

当我们新建一个flask项目的时候,默认就会有一个hello_world函数,如下面这样

@app.route('/')

def hello_world():

return 'hello world'

上面函数中,app.route()的参数就是我们的url,当我们启动项目的时候,我们在浏览器中输入127.0.0.1:5000,就能够访问到我们这个视图了,因为/就是代表"根url",所以我们只需要ip地址和端口就访问到了我们的这个函数视图。

当我们将app.route()的参数改为'/hello/'时,那我们访问这个视图就需要输入网址为127.0.0.1:5000/hello/才能访问到我们的这个视图了,

这就是flask中url与函数的映射。

2. url传入参数

url中包含参数

当我们访问CSDN,博客园,简书等网站中的文章详情的时候,我们会发现起始每篇文章的详情页面的url前面不封都是一样的,只有后面一部分不一样。那么这个不一样的部分我们就可以当做一个参数传入视图中,然后我们在视图中拿到相应的参数在进行相应的操作,返回相应的数据。那么在flask中怎样实现这个功能呢?

@app.route('/article_detail//')

def article_detail(article_id):

return "你查看到文章id 为 %s" % article_id

在上面的函数视图中,app.route()中用<>这个包裹起来的就是我们定义的参数,这里我们就定义了一个article_id这样的参数。当我们在url中定义了一个参数之后,我们必须也在函数中写入这个参数,而且参数名必须和url中的参数名一致。然后我们就可以在视图中拿到article_id这个参数的值了。

然后启动项目,在浏览器中输入127.0.0.1:5000/article_detail/3/等相似 的url,就能够查看到相应的效果了。

上面的例子中虽然我们能够将参数通过url传入函数视图中,但是我们并不能对url做类型限制,比如我们想要的article_id必须是一个int数据,当用户传入的参数不是int型的数据的时候,那么他就访问不到我们这个函数视图.出现404页面.那么flask中怎样实现这样这个需求呢?

在flask中,我们是可以对url指定类型的。

@

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值