Flask – HTTP 方法


Http协议是万维网数据通信的基础。该协议定义了从指定 URL 检索数据的不同方法。

下表总结了不同的 http 方法 -

先生。 方法与说明
1

得到

以未加密的形式将数据发送到服务器。最常用的方法。

2

与 GET 相同,但没有响应正文

3

邮政

用于将 HTML 表单数据发送到服务器。服务器不会缓存通过 POST 方法接收的数据。

4

将目标资源的所有当前表示替换为上传的内容。

5

删除

删除 URL 给出的目标资源的所有当前表示

默认情况下,Flask 路由响应GET请求。但是,可以通过向route()装饰器提供方法参数来更改此首选项。

为了演示POST方法在 URL 路由中的使用,首先让我们创建一个 HTML 表单并使用POST方法将表单数据发送到 URL。

将以下脚本保存为login.html

<html>
   <正文>
      <表单操作=“http://localhost:5000/login”方法=“post”>
         <p>输入名称:</p>
         <p><输入类型=“文本”名称=“nm”/></p>
         <p><输入类型=“提交”值=“提交”/></p>
      </形式>
   </正文>
</html>

现在在 Python shell 中输入以下脚本。

从烧瓶导入烧瓶,重定向,url_for,请求
应用程序=烧瓶(__名称__)

@app.route('/成功/<名称>')
def 成功(名称):
   返回 '​​欢迎 %s' % 名称

@app.route('/login',methods = ['POST', 'GET'])
def 登录():
   如果 request.method == 'POST':
      用户 = request.form['nm']
      返回重定向(url_for('成功',名称=用户))
   别的:
      用户 = request.args.get('nm')
      返回重定向(url_for('成功',名称=用户))

如果 __name__ == '__main__':
   应用程序运行(调试= True)

开发服务器开始运行后,在浏览器中打开login.html ,在文本字段中输入名称,然后单击提交

后置方法示例

表单数据被 POST 到表单标签的 action 子句中的 URL。

http://localhost/login映射到login()函数。由于服务器已通过POST方法接收数据,因此从表单数据中获取的“nm”参数值通过以下方式获得:

用户 = request.form['nm']

它作为变量部分传递到“/success” URL。浏览器在窗口中显示欢迎消息。

欢迎辞

将login.html中的方法参数更改为“GET”,然后在浏览器中再次打开。服务器通过GET方法接收数据。“nm”参数的值现在通过以下方式获得 -

用户 = request.args.get('nm')

这里,args是字典对象,包含表单参数对及其相应值的列表。与之前一样,与“nm”参数对应的值将传递到“/success”URL。