Flask HTTP方法用法示例

本文概述

  • POST方法
  • GET方法
HTTP是超文本传输??协议, 被认为是万维网上数据传输的基础。所有网络框架(包括flask)都需要提供几种HTTP方法进行数据通信。
下表中给出了这些方法。
SN Method Description
1 GET 这是最常见的方法, 可用于将未加密形式的数据发送到服务器。
2 HEAD 它类似于GET, 但不带响应主体使用。
3 POST 它用于将表单数据发送到服务器。服务器不缓存使用post方法传输的数据。
4 PUT 它用于用上载的内容替换目标资源的所有当前表示形式。
5 DELETE 它用于删除URL中指定的目标资源的所有当前表示形式。
【Flask HTTP方法用法示例】我们可以在Flask类的route()函数中指定用于处理请求的HTTP方法。默认情况下, 请求由GET()方法处理。
POST方法 要在服务器上处理POST请求, 让我们首先创建一个表单以从用户那里获取一些客户端数据, 然后我们将尝试使用POST请求在服务器上访问此数据。
login.html
< html> < body> < form action = "http://localhost:5000/login" method = "post"> < table> < tr> < td> Name< /td> < td> < input type ="text" name ="uname"> < /td> < /tr> < tr> < td> Password< /td> < td> < input type ="password" name ="pass"> < /td> < /tr> < tr> < td> < input type = "submit"> < /td> < /tr> < /table> < /form> < /body> < /html>

现在, 将以下代码输入到名为post_example.py的脚本中。
post_example.py
from flask import * app = Flask(__name__) @app.route('/login', methods = ['POST']) def login(): uname=request.form['uname'] passwrd=request.form['pass'] if uname=="ayush" and passwrd=="google": return "Welcome %s" %uname if __name__ == '__main__': app.run(debug = True)

现在, 通过使用python post_exmple.py运行脚本来启动开发服务器, 并在Web浏览器上打开login.html, 如下图所示。
Flask HTTP方法用法示例

文章图片
提供所需的输入, 然后单击Submit, 我们将得到以下结果。
Flask HTTP方法用法示例

文章图片
因此, 通过使用post方法将表单数据发送到开发服务器。
GET方法 让我们考虑一下Get方法的相同示例。但是, 服务器端的数据检索语法有所变化。首先, 将表单创建为login.html。
login.html
< html> < body> < form action = "http://localhost:5000/login" method = "get"> < table> < tr> < td> Name< /td> < td> < input type ="text" name ="uname"> < /td> < /tr> < tr> < td> Password< /td> < td> < input type ="password" name ="pass"> < /td> < /tr> < tr> < td> < input type = "submit"> < /td> < /tr> < /table> < /form> < /body> < /html>

现在, 将以下python脚本创建为get_example.py。
get_example.py
from flask import * app = Flask(__name__) @app.route('/login', methods = ['GET']) def login(): uname=request.args.get('uname') passwrd=request.args.get('pass') if uname=="ayush" and passwrd=="google": return "Welcome %s" %uname if __name__ == '__main__': app.run(debug = True)

现在, 在Web浏览器上打开HTML文件login.html并提供所需的输入。
Flask HTTP方法用法示例

文章图片
现在, 单击提交按钮。
Flask HTTP方法用法示例

文章图片
因为我们可以检查结果。使用get()方法发送的数据在开发服务器上检索。
通过使用以下代码行可以获取数据。
uname = request.args.get('uname')

在这里, args是一个字典对象, 其中包含表单参数对及其相应值对的列表。
在上图中, 我们还可以检查URL, 其中也包含与请求一起发送到服务器的数据。这是GET请求和POST请求之间的重要区别, 因为发送到服务器的数据未显示在POST请求的浏览器的URL中。

    推荐阅读