现在我们来到了flask教程的第四章,这一章我们来学习一下如何处理用户向flask传输的数据。

在开始学习之前,我先分享一下http请求中常见的两种方法,分别是GET和POST。

GET和POST方法

GET

GET顾名思义,即获取,通过url向服务端获取页面或数据,比如访问https://www.baidu.com,就是使用GET方法向服务器发起请求,获取百度的主页。

而GET方法要想向服务端传输数据就需要在url上操作,比如https://www.baidu.com/s?wd=felix,当访问这一个地址时,其中wd=felix就是传输的参数,百度的服务器获取到了这个参数,就会返回对应的搜索结果页。url中用?来分隔固定地址和动态参数,其中等号左边为参数名,右边为对应的值。

如果有多个参数的话,就通过&来分隔多个参数,例如https://www.baidu.com/s?wd=felix&ie=UTF-8,这个url就一次传输了两个参数,分别是wd=felix以及ie=UTF-8

而这个url中的参数有一个专门的名字,叫做查询字符串(Query String)

POST

POST方法一般专门用作于传输数据,相较于GET来说,POST会更加安全,不会将数据暴露在url上,所以一般在登陆功能或者提交较多数据时会使用POST方法。而且POST相较于GET方法来说,对于大小没有限制,所以可以传输更多的内容。

更多关于POST的细节将在下一篇的表单处理中分享,下面我们先来聊一聊如何在flask中处理查询字符串,即url中的参数吧。

flask处理查询字符串

在flask中,我们可以通过flask提供的request方法来获取url中的参数。

frog.py

from flask import request

@app.route('/post/')
def posts():
    page=request.args.get('page')
    return '<h1>%s</h1>' % page

我们可以通过request.args.get('参数名')来获得对应的参数,如果没有这个参数则返回None

接下来我们打开浏览器,在地址栏输入http://127.0.0.1:5000/post/?page=1,回车,我们就可以看到,页面返回的就是我们在url中输入的参数了。

是不是很简单呢?

查询字符串的应用场景

查询字符串在一些分页、搜索、简单查询页面时都会经常用到,它有一个特点就是变换频繁,灵活。

比如百度的搜索url就是这样的https://www.baidu.com/s?wd=felix

某个列表页的第二页

http://www.felixlee.cn/post/?page=2

某个搜索页

http://www.felixlee.cn/search?wd=关键词

以上便是关于flask处理查询字符串的一些介绍啦,之后我们会经常见到它,还是比较简单的。

拓展阅读

在很多php的项目上,常会有一个入口文件index.php,然后整个网站的所有操作和页面都可以基于这个入口文件的url搭配上一些参数来完成。

比如列表页可能是这种形式http://www.felixlee.cn/index.php?type=list&catid=1&page=1

文章页的url可能是这种形式https://www.felixlee.cn/index.php?type=show&id=1

然后再搭配上一些伪静态的规则可以生成我们一般常见的更加直观且对seo有利的静态地址。可以说php是使用查询字符串比较频繁的一种语言了。

那么我们下一篇再见吧。

评论

Felix 管理员

仓库地址: http://codemole.cn/felix/Frog/src/frog4.1

回复

  • 最新随笔

  • (°ー°〃) (°ー°〃) 看你睡得那么香就不赶你了,整个抬走,换把椅子ㄟ(▔ ,▔)ㄏ
  • 还有这个移动端之前的随笔显示效果图片做对比,现在这样就更方便阅读一些
  • 找了点时间,重新调整了一下随笔的页面,这样看就顺眼多了,附上一张以前的随笔页图片。
  • 对于自己暂时没有能力改变的事情,屏蔽相关信息是保持平常心的方法之一,毕竟人的精力和注意力是有限的,投入眼前的事情反倒能在这个浮躁的世界收获一些自己的东西。专注脚下,偶尔抬头。
  • 这个随笔的页面找时间得改一改,阅读体验不太好......
  • 对于一些娱乐片段或者碎片化阅读的记忆,别穷思竭虑般地唤起回忆,想变得清晰,不能马上想起就放弃。毕竟在信息时代每天接受的信息量级巨大,若想大脑都填满这些碎片化的信息也是天方夜谭,而且在无法想起时也不建议有苦恼的情绪(如:我是不是有健忘症?是不是越来越严重了?之类的),因为频繁给自己这类心理暗示真的很有可能会往相关趋势发展。另外对于一些系统性学习的知识也建议保持类似的态度,因为除了一些频繁使用的知识,人脑真的记忆不过来那么多东西,在想不起时依靠记忆中相关的知识索引在世界中找到对应的内容即可。
  • 发现一个有趣现象,看了看发的文章,我用“我们”比用“我”更频繁,这是为啥。(随便一提,这是2022年第一条随笔,(笑哭))
  • 对我来说,写东西很好的一点是,自己写的东西,后面基本都会再看,一遍或者很多遍。这样就可以很好地发现自己之前的漏洞,并看看现在有什么变化。