flask笔记(七):简单路由设置

flask笔记(七):简单路由设置,第1张

flask默认的视图支持的请求方法只包括三种:

其中 HEAD 和 OPTIONS 方法由Flask自动处理,如果不传参数,默认为 GET 请求.

Q: 如何编写支持 POST 请求方法的函数

输出

flask中,只需要在视图函数的上面添加 app.route 路由装饰器即可

这样就可以实现访问 /hi1 和 /hi2 时,都是调用的 hi 方法。

举例

注意:如果是路由不同,但是视图函数相同,方法也相同,优先返回离视图函数最近的路径

输出

在flask应用中,路由是指用户请求的URL和视图函数之间的映射。flask框架会根据http请求的URL在路由表当中,匹配预定义的URL规则,找到对应的视图函数,并将视图函数的执行结果返回WSGI服务器

route装饰器 :可以使用Flask应用实例的route装饰器将一个URL规则绑定到 一个视图函数上

结果

可以看到,由于hello2函数路径和请求方式和hello1一样,会被hello1覆盖掉,所以在访问的时候只会执行hello1,并不会执行hello2

修改两个视图函数的请求方式:

修改之后再次访问

可以看到这次访问/hello是访问到了hello2函数,因为访问页面的默认方式是get请求。尽管现在hello1和hello2路径相同,但是现在请求方式不一致,是看成单独的逻辑

上面讲了不同视图函数使用同一装饰器的情况,那如果反过来,同一个视图函数上面有不同的装饰器呢?

对/h1和/h2都分别进行访问

可以看到无论是访问h1还是h2,都是访问到同一个页面,实现了两个不同的URL对应同一个视图函数。

在访问页面的时候经常会出现重定向的 *** 作,比如在网上进行购物的时候,无论是下单结算,或者是查看商品物流的过程,都是需要确定好用户是已经登录的情况下才能进行 *** 作的,如果是没有登录就会先跳转到登录页面才能执行上面的 *** 作,那么在flask中如何进行重定向呢?

首先要在flask中导入重定向的函数

定义要进行重定向的视图函数

或者也可以使用flask中的方法url_for(这个也是需要在上面进行导入)

这个方式是获取到函数名之后,自行找到对应的访问路径进行解析并返回。这个方法可以避免把路径写死,如果到后面路径需要进行调整的时候就不需要再对路径进行修改,减少了很多工作量

当我们访问login的时候

然而在按下回车键之后,最终的展示页面却跳转到了hello2函数的页面当中

转换器有下面几种

接下来使用一个int转换器获取URL当中的ID并且返回到页面当中进行显示。

注意转换器的使用格式为:<转换器类型:参数名称>

注意:视图函数里的参数和装饰器里面的参数名要一致

可以看到通过这样的方式获取到了URL当中的数值123并且在页面当中展示出来

路由 是什么鬼?非翻译专业的人翻译出来的东西确实可怕,Natural History给你翻译成 自然历史 ,教美国的 Nature History Museum自然历史博物馆)情何以堪。博物学就是博物学吧,什么自然历史。 路由也是,对应的英文是route,意思都跟way有关,这里是指: 用户访问的网址路径

所以 路由 可以理解为: 根据访问路径作出的响应

这里的函数 view function 直译是 视图函数 ,但是 视图函数 你能看出来是什么意思吗?还不如叫 响应函数 来得直白通俗容易让人理解

路由参数具体参考如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11274343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存