Python Flask 简明教程(11)--获取URL请求参数与表单参数

简介: 本文目录1. 前言2. 获取URL信息3. 获取URL查询参数4. 获取表单参数5. 小结与拓展

本文目录

1. 前言

2. 获取URL信息

3. 获取URL查询参数

4. 获取表单参数

5. 小结与拓展

1. 前言

网页请求信息可以通过多种方式,从网页发送到后端,例如URL里面的参数,表单里面的参数,以及上传文件的信息。


Flask可以通过request对象非常轻易的获取网页请求信息,本篇来具体演示如何获取URL信息、URL请求参数及表单参数。


2. 获取URL信息

先看代码:


from flask import Flask, request

app = Flask(__name__)


@app.route('/getUrlInfo')  # 获取url信息

def getUrlInfo():

   # 完整url

   url = request.url

   # 主机部分

   hostUrl = request.host_url

   # 访问路径

   fullPath = request.full_path

   # 输出

   print("url:"+url)

   print("hostUrl:"+hostUrl)

   print("fullPath:"+fullPath)

   return "ok"


if __name__ == '__main__':

   app.run(debug=True)


我们来解释下,首先import导入request对象,然后我们就可以通过request对象获取URL等具体信息了。


运行上述代码,访问http://127.0.0.1:5000/getUrlInfo?name=test,控制台输出如下,可见我们可以很轻易的获取到URL信息。


url:http://127.0.0.1:5000/getUrlInfo?name=test

hostUrl:http://127.0.0.1:5000/

fullPath:/getUrlInfo?name=test


3. 获取URL查询参数

大多数情况下,我们是想直接获取到URL里面参数值的,此时可以通过request.args来实现,例如:


@app.route('/getUrlParam')  # 获取url参数

def getUrlParam():

   name=request.args["name"]

   password=request.args["password"]

   print("name:"+name)

   print("password:"+password)

   return "ok"


上面的代码可以解析出URL里面的请求参数,运行程序,访问http://127.0.0.1:5000/getUrlParam?name=tom&password=123,控制台输出如下,可见获取参数成功。


name:tom

password:123


4. 获取表单参数

还有很多情况,数据是通过表单提交过来的,此时可以通过request.form获取表单参数。


在template目录开发login.html页面,代码如下:


<!DOCTYPE html>

<html>

<body>

   <form action="/loginSubmit" method="POST">

       <input type="text" name="name" /><br>

       <input type="password" name="password" /><br>

       <input type="submit" value="submit" /><br>

   </form>

</body>

</html>


编写方法,跳转login.html页面:


@app.route('/login')

def login():

   return render_template('login.html')


编写python代码,接受表单提交请求:


@app.route('/loginSubmit', methods=['POST'])  # 获取表单参数

def loginSubmit():

   name = request.form['name']

   password = request.form['password']

   print("name:"+name)

   print("password:"+password)

   return 'ok'


启动程序,访问:http://127.0.0.1:5000/login,打开登录页面如下:


输入用户名tom,密码123456,点击提交,后台输出如下,获取表单参数成功!


name:tom

password:123456


5. 小结与拓展

本篇介绍了如何获取URL信息、URL请求参数、表单参数。


真实项目开发过程中,更加普遍的方式,应该是通过ajax发送json数据到后台,这个我们放到下一篇完整演示下。


相关文章
|
1天前
|
数据采集 人工智能 运维
有趣、实用!专为小白设计的Python零基础入门到人工智能教程
2017年7月,国务院发布的《新一代人工智能发展规划》提出,要在中小学阶段设置人工智能相关课程,并逐步推广编程教育。 Python 是一种通用型编程语言,它具有良好的可扩展性和适应性,易于学习,被广泛应用于云计算、人工智能、科学运算、Web 开发、网络爬虫、系统运维、图形GU1、金融量化投资等众多领域。无论是客户端、云端,还是物联网终端,都能看到Python 的身影,可以说,Python的应用无处不在。 特别是在移动互联网和人工智能时代,Pvthon 越来越受到编程者的青睐,成为近年来热度增长最快的编程语言之一。在 TIOBE、RedMonk 等世界编程语言排行榜中,Python 语言名列前茅
|
1天前
|
机器学习/深度学习 Linux Python
01-Python详细安装教程(大妈看了都会)
01-Python详细安装教程(大妈看了都会)
|
2天前
|
机器学习/深度学习 数据可视化 Python
多项分布模拟及 Seaborn 可视化教程
多项分布是二项分布的推广,描述了在n次试验中k种不同事件出现次数的概率分布。参数包括试验次数n、结果概率列表pvals(和为1)和输出形状size。PMF公式展示了各结果出现次数的概率。NumPy的`random.multinomial()`可生成多项分布数据。练习包括模拟掷骰子和抽奖活动。解决方案提供了相关图表绘制代码。关注公众号“Let us Coding”获取更多内容。
11 0
|
2天前
|
数据采集 人工智能 大数据
清华大学出版,最适合Python小白的零基础入门教程!
伴随着云计算、大数据、AI等技术的迅速崛起,市场对Python人才的需求和市场人才的匮乏,让长期沉默的Python语言一下子备受众人的关注,再加上简单易学,使得Python一跃成为TIOBE排行榜的第一。 准备学Python或者想学Python的小伙伴们可能还不晓得,Python 2.x 已经停止更新了,而且 Python 3.x 与 Python 2.x 不兼容。 而今天分享的这份手册是基于Python 3.5编写零基础入门手册的,相对于很多以Python 2.x为基础编写的内容来说,这份手册更适合你一些
|
4天前
|
算法 程序员 开发工具
GitHub上新!14个Python项目详细教程(附完整代码)
Python作为程序员的宠儿,越来越得到人们的关注,使用Python进行应用程序开发的也越来越多。 今天给小伙伴们分享的这份项目教程完整代码已上传至GitHub,你可以选择跟着这份教程一段一段的手敲出来这几个项目,也可以直接从GitHub上copy下来。
|
6天前
|
C语言 Python
专为编程小白设计的Python零基础入门教程,GitHub星标破W
市面上大多数技术类的书籍都着重于一步步的构建系统的知识体系,并不是说这样就是不对的,但这样按部就班的学习注定了需要花费大量的时间用来掌握“基础知识”,或死记硬背,或慢慢理解。 然而世界不会迁就你,而是在步步紧逼的告诉你要赶紧学完,赶紧找工作,赶紧挣钱,这才是你生活的基础。 今天给小伙伴们带来了一份《编程小白的第一步Python书》,这本书是专为零基础小白设计的,不会告诉“先学C语言,会更好理解Python”这种狗屁道理。而是先带你掌握搭建项目所用到的最少得知识,再真实的项目搭建中实践自己的所学,逐渐的完善知识体系。
|
6天前
|
机器学习/深度学习 算法 数据挖掘
4小时学完!15年技术大牛用247个实战案例剖析的Python教程
今天给小伙伴们分享一份15年技术大牛用247个实战案例剖析的Python教程,这份教程全程彩图讲解,告别枯燥!60秒学会⼀个⼩例⼦,带你系统学习Python,从⼊门到⼤师。 涵盖了Python基础、Python字符串和正则、Python⽂件和⽇期、Python三⼤利器、Python绘图、Python之坑、Python第三⽅包、机器学习和深度学必知算法、Python实战、Pandas数据分析案例实战十大篇幅的精品案例教程
|
7天前
|
Python
封神!霸榜GitHub的零基础Python教程居然是本早教书
近期托朋友的福,给大家找来了一份Python早教书,本来是给我大侄子准备的,结果看我发现更适合零基础学编程的小白。 你想想看,本来就是给孩子看的东西,能难到哪里去,孩子都能上手的东西,到咱手里那还不得上天啊!
|
8天前
|
数据采集 人工智能 运维
有趣、实用!专为小白设计的Python零基础入门到人工智能教程
Python 是一种通用型编程语言,它具有良好的可扩展性和适应性,易于学习,被广泛应用于云计算、人工智能、科学运算、Web 开发、网络爬虫、系统运维、图形GU1、金融量化投资等众多领域。无论是客户端、云端,还是物联网终端,都能看到Python 的身影,可以说,Python的应用无处不在。 特别是在移动互联网和人工智能时代,Pvthon 越来越受到编程者的青睐,成为近年来热度增长最快的编程语言之一。在 TIOBE、RedMonk 等世界编程语言排行榜中,Python 语言名列前茅。 因此,学习Python 语言是一个非常不错的选择。
|
8天前
|
应用服务中间件 API nginx
使用Python和Flask构建RESTful Web API
使用Python和Flask构建RESTful Web API
22 0