资讯专栏INFORMATION COLUMN

[译]Flask教程-HTTP方法

anonymoussf / 1266人阅读

摘要:协议是万维网数据通信的基础在这个协议上可以对同一使用不同的方法获取数据下面展示了几种不同的方法将未经加密的信息发送的服务器是最通用的方法该方法除了服务端不返回响应内容只返回头信息之外同是一样的用于向服务器发送表单数据请求不会被缓存将所指示的

HTTP协议是万维网数据通信的基础. 在这个协议上可以对同一URL使用不同的方法获取数据.
下面展示了几种不同的HTTP方法.

GET 将未经加密的信息发送的服务器. 是最通用的方法.

HEAD 该方法除了服务端不返回响应内容只返回头信息之外, 同GET是一样的.

POST 用于向服务器发送HTML表单数据. POST请求不会被缓存.

PUT 将URL所指示的资源用上传的内容替换.

DELETE 将URL所指示的资源删除.

Flask路由默认处理的是GET请求, 但我们可以通过添加route()装饰器的参数来改变这点.

为便于演示URL路由中的POST方法, 我们创建一个HTML表单, 并用这个表单给URL发送数据.
将下面内容保存为login.html.


   
      
      

Enter Name:

将下面这段Python代码保存并执行:

from flask import Flask, redirect, url_for, request
app = Flask(__name__)

@app.route("/success/")
def success(name):
   return "welcome %s" % name

@app.route("/login",methods = ["POST", "GET"])
def login():
   if request.method == "POST":
      user = request.form["nm"]
      return redirect(url_for("success",name = user))
   else:
      user = request.args.get("nm")
      return redirect(url_for("success",name = user))

if __name__ == "__main__":
   app.run(debug = True)

在开发模式下执行程序开启服务器后, 在浏览器中打开login.html, 会看到一个简陋的表单, 我们填入名字并提交.
然后表单就把数据POST到action所指示的URL上. http://localhost:5000/login这个URL被绑定到login()函数上, 一旦服务器通过POST方法接收到数据, 表单里nm字段的值就从下面这段代码中获取到了:

user = request.form["nm"]

然后这个值被作为变量传到了/success这个URL上, 浏览器最终展示的是/successURL下的welcome字样的信息.

我们把login.html中的action改为GET方法, 再次从浏览器中打开页面, 提交后, 服务器代码收到的是GET请求, nm字段的值这次用如下代码获取:

User = request.args.get(‘nm’)

这里, args是由字段的名称和值组成的字典对象, nm字段的值同样被传递到了/successURL上.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40871.html

相关文章

  • []Flask教程--重定向与错误

    摘要:类有一个方法当我们调用它时它会返回一个响应对象并且按指定的状态码将用户重定向到另一个位置方法的原型如下在上面的函数中我们要重定向的位置状态码会在头中发送给浏览器默认为用这个参数来初始化响应对象下面是一些标准的状态码重定向的状态码默认是也就是 Flask类有一个redirect()方法. 当我们调用它时, 它会返回一个响应对象并且按指定的状态码将用户重定向到另一个位置. redirect...

    leap_frog 评论0 收藏0
  • []Flask教程-模版

    摘要:我们可以让绑定到某个的函数返回比如下面的代码中函数会返回由包裹的字符串但大家看得出这样直接通过代码返回内容显得很笨尤其当我们碰到需要对输入变量做条件判断和循环时我们经常需要做字符串嵌入拼接这种体力活这种情况下我们需要利用自带的模版引擎我们可 我们可以让绑定到某个URL的函数返回HTML. 比如下面的代码中, hello()函数会返回由包裹的Hello World字符串. from fl...

    jifei 评论0 收藏0
  • []如何使用Flask开发一个增删改查的应用(part2)

    摘要:获取成为开发专家的技巧。我们可以在两个文本框输入笔记的标题和内容。在本教程中,我们将使用一个名为的工具。它是一个火狐浏览器的扩展,我们可以使用它管理数据库。安装,打开火狐浏览器,点击,然后点找到的文件夹图标并点击它。 showImg(https://cdn-images-1.medium.com/max/600/1*Ou6FFJJD3zhcIUU8wBZqIw.png); 教程译文首发...

    adam1q84 评论0 收藏0
  • []Flask教程--将表单数据发送到模板

    摘要:之前我们已经看到在中我们可以给规则指定方法对应的函数可以按字典形式接收表单数据然后将这些数据输送到模板中并最终渲染为网页在下面的例子中渲染一个含有表单的网页填入到表单的数据被到然后触发了函数函数将表单数据组装起来放入字典对象中然后发送到模板 之前我们已经看到在Flask中我们可以给URL规则指定http方法, 对应的函数可以按字典形式接收表单数据, 然后将这些数据输送到模板中并最终渲染...

    you_De 评论0 收藏0
  • []如何使用Flask开发一个增删改查的应用

    摘要:教程译文首发自我的博客我们将创建一个简单的数据库驱动的笔记本应用。本教程面向想学习如何使用开发网站或者应用的初学者。在刚创建的文件中,创建一个名为的文件。现在,我们将创建一个函数,并且使用装饰器将它绑定到一个上。 showImg(https://segmentfault.com/img/remote/1460000006765797); 教程译文首发自我的博客:Defshines Bl...

    tianlai 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<