个性化阅读
专注于IT技术分析

Flask HTTP方法用法示例

本文概述

HTTP是超文本传输​​协议, 被认为是万维网上数据传输的基础。所有网络框架(包括flask)都需要提供几种HTTP方法进行数据通信。

下表中给出了这些方法。

SN Method Description
1 GET 这是最常见的方法, 可用于将未加密形式的数据发送到服务器。
2 HEAD 它类似于GET, 但不带响应主体使用。
3 POST 它用于将表单数据发送到服务器。服务器不缓存使用post方法传输的数据。
4 PUT 它用于用上载的内容替换目标资源的所有当前表示形式。
5 DELETE 它用于删除URL中指定的目标资源的所有当前表示形式。

我们可以在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中。


赞(0)
未经允许不得转载:srcmini » Flask HTTP方法用法示例

评论 抢沙发

评论前必须登录!