雷林鹏分享:Flask HTTP方法

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

  下表概括了不同的http方法 -

  编号方法描述

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

  2HEAD与GET相同,但没有响应主体

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

  4PUT用上传的内容替换目标资源的所有当前表示。

  5DELETE删除由URL给出的所有目标资源的所有表示

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

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

  将以下脚本保存到文件:login.html

  

  

  

  

  

  

  

输入姓名:

  

  

  

  

  

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

  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[‘name‘]

  return redirect(url_for(‘success‘,name = user))

  else:

  user = request.args.get(‘name‘)

  return redirect(url_for(‘success‘,name = user))

  if __name__ == ‘__main__‘:

  app.run(debug = True)

  开发服务器开始运行后,在浏览器中打开login.html,在文本字段中输入名称(如:maxsu )并单击提交。

  表单数据被提交到

标签的action属性指定的URL。

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

  user = request.form[‘name‘]

  它作为可变部分传递给URL:/success。 浏览器在窗口中显示欢迎消息。

  将login.html中的方法参数更改为GET并在浏览器中再次打开。 在服务器上收到的数据是通过GET方法。 ‘name‘参数的值现在通过以下方式获得 -

  User = request.args.get(‘name‘)

  这里,args是字典对象,它包含一系列表单参数及其对应值。 与之前一样,与‘name‘参数对应的值将传递到URL:/success。(编辑:雷林鹏 来源:网络 侵删)

原文地址:https://www.cnblogs.com/pengpeng1208/p/11327144.html

时间: 2024-08-29 15:56:38

雷林鹏分享:Flask HTTP方法的相关文章

雷林鹏分享:Flask应用程序

要测试Flask安装是否成功,在编辑器中输入以下代码,并保存到文件:Hello.py 中. from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World' if __name__ == '__main__': app.run() 在项目中导入Flask模块是强制性的. Flask类的一个对象是WSGI应用程序. Flask构造函数将当前模块的名称(__nam

雷林鹏分享:Flask消息闪现

一个基于GUI好的应用程序需要向用户提供交互的反馈信息. 例如,桌面应用程序使用对话框或消息框,JavaScript使用alert()函数用于类似的目的. 在Flask Web应用程序中生成这样的信息消息很容易. Flask框架的闪现系统使得可以在一个视图中创建一个消息并将其呈现在名为next的视图函数中. Flask模块包含flash()方法. 它将消息传递给下一个请求,该请求通常是一个模板. flash(message, category) 在这里 - message - 参数是要刷新的实际

雷林鹏分享:Ruby CGI方法

Ruby CGI方法 以下为CGI类的方法列表: 序号方法描述 1CGI::new([ level="query"]) 创建 CGI 对象.query可以是以下值: query: 没有 HTML 生成输出 html3: HTML3.2 html4: HTML4.0 Strict html4Tr: HTML4.0 Transitional html4Fr: HTML4.0 Frameset 2CGI::escape( str) 使用 URL 编码来转义字符串 3CGI::unescape

雷林鹏分享:Ruby File 类和方法

Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) 返回 path 的最后访问时间. 2File::basename( path[, suffix]) 返回 path 末尾的文件名.如果指定了 suffix,则它会从文件名末尾被删除. 例如:File.basename("/home/users/bin/ruby.exe") #=>

雷林鹏分享:Flask开发环境安装配置

安装Flask通常需要Python 2.6或更高版本. 尽管Flask及其依赖与Python 3(Python 3.3以上版本)配合良好,但许多Flask扩展并不能正确支持它. 因此,但是官方建议在Python 3.6+ 以上安装Flask. 安装virtualenv virtualenv是一个虚拟的Python环境构建器. 它可以帮助用户并行创建多个Python环境. 因此,它可以避免不同版本的库之间的兼容性问题. 使用虚拟环境在开发和生产中管理项目的依赖关系. 虚拟环境解决什么问题? 您拥有

雷林鹏分享:Flask URL构建

url_for()函数对于动态构建特定函数的URL非常有用. 该函数接受函数的名称作为第一个参数,并接受一个或多个关键字参数,每个参数对应于URL的变量部分. 以下脚本演示了使用url_for()函数. from flask import Flask, redirect, url_for app = Flask(__name__) @app.route('/admin') def hello_admin(): return 'Hello Admin' @app.route('/guest/')

雷林鹏分享:Ruby 多线程

Ruby 多线程 每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程. 线程是程序中一个单一的顺序控制流程,在单个程序中同时运行多个线程完成不同的工作,称为多线程. Ruby 中我们可以通过 Thread 类来创建多线程,Ruby的线程是一个轻量级的,可以以高效的方式来实现并行的代码. 创建 Ruby 线程 要启动一个新的线程,只需要调用 Thread.new 即可: # 线程 #1 代码部分 Thread.new { # 线程 #2 执行代码 } # 线程 #1 执行代码 实例 以

雷林鹏分享:Ruby 异常

Ruby 异常 异常和执行总是被联系在一起.如果您打开一个不存在的文件,且没有恰当地处理这种情况,那么您的程序则被认为是低质量的. 如果异常发生,则程序停止.异常用于处理各种类型的错误,这些错误可能在程序执行期间发生,所以要采取适当的行动,而不至于让程序完全停止. Ruby 提供了一个完美的处理异常的机制.我们可以在 begin/end 块中附上可能抛出异常的代码,并使用 rescue 子句告诉 Ruby 完美要处理的异常类型. 语法 begin # - rescue OneTypeOfExce

雷林鹏分享:Ruby 面向对象

Ruby 面向对象 Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现.Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串.数字,甚至连 true 和 false 都是对象.类本身也是一个对象,是 Class 类的一个实例.本章将向您讲解所有与 Ruby 面向对象相关的主要功能. 类用于指定对象的形式,它结合了数据表示法和方法,把数据整理成一个整齐的包.类中的数据和方法被称为类的成员. Ruby 类定义 当您定义一个类时,您实际是定义了一个数据类型的蓝图.这实际上并没