Flask请求方法

Posted Python自动化测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask请求方法相关的知识,希望对你有一定的参考价值。

      HTTTP的协议是基于应用层的协议,不需要刻意的去关注网络传输层的协议,它主要用于客户端与服务端之间的通信方式。在HTTP协议中,常用的请求方法主要是GET,POST,PUT,DELETE的请求方法。在HTTP协议中,客户端向服务端发送请求的时候,需要带上对应的请求方法,服务端接收到请求方法后,然后把响应内容返回给客户端。

      GET请求方法主要用来获取对应的资源,GET请求方法用来请求已被URL识别的资源,客户端发送GET请求方法后,服务器接收到对应的资源进行解析后,然后把响应内容返回给客户端。户端发送GET请求的时候,获取的资源可以是文本,也可以是图片和影评。如下图客户端与服务端GET请求方法的通信过程。

      虽然使用GET请求方法客户端与服务器之间进行通信,但是GET请求方法主要应用于客户端向服务器获取指定的资源,但是如果客户端与服务器之间涉及数据的传输,GET请求方法并一个好的选择请求方法,比如系统的登录,前端把用户名输入的账号和密码传输给后台后,后台需要获取到传输过来的数据并且对用户名和密码处理后,需要告诉客户端登录系统的情况。这个时候使用的方法是POST,POST请求方法主要用来传输实体的主体。如下图的请求过程。

      下面终点来看Flask对HTTP请求方法的处理,这里以一个简单的登录案例为主,见html的源码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<center>
<form action="{{ url_for('login') }}" method="post">
<p>用户名:<input type="text" name="username" placeholder="请输入账号"></p>
<p>密码:<input type="password" name="password" placeholder="请输入账号密码"></p>
<p><input type="submit" value="提交"></p>
</form>
</center>
</body>
</html>

见Flask程序的代码:

from flask import Flask,request,render_template

app = Flask(__name__)
app.config.from_pyfile('config.py',silent=True)

@app.route('/login/',methods=['GET','POST'])
def login():
content={'msg':None}
if request.method=='GET':
return render_template('login.html')
if request.method=='POST':
username=request.form.get('username',None)
password=request.form.get('password',None)
if username=='wuya' and password=='admin':
return '登录成功'
if __name__ == '__main__':

app.run()


谢谢您的阅读与关注!您也可购买本人的书籍和实战课程。谢谢!