[译]Flask教程-HTTP方法
HTTP协议是万维网数据通信的基础. 在这个协议上可以对同一URL使用不同的方法获取数据.
下面展示了几种不同的HTTP方法.
- GET 将未经加密的信息发送的服务器. 是最通用的方法.
- HEAD 该方法除了服务端不返回响应内容只返回头信息之外, 同GET是一样的.
- POST 用于向服务器发送HTML表单数据. POST请求不会被缓存.
- PUT 将URL所指示的资源用上传的内容替换.
- DELETE 将URL所指示的资源删除.
Flask路由默认处理的是GET请求, 但我们可以通过添加route()装饰器的参数来改变这点.
为便于演示URL路由中的POST方法, 我们创建一个HTML表单, 并用这个表单给URL发送数据.
将下面内容保存为login.html.
<html> <body> <form action = "http://localhost:5000/login" method = "post"> <p>Enter Name:</p> <p><input type = "text" name = "nm" /></p> <p><input type = "submit" value = "submit" /></p> </form> </body> </html>
将下面这段Python代码保存并执行:
from flask import Flask, redirect, url_for, request app = Flask(__name__) @app.route('/success/<name>') 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上, 浏览器最终展示的是/success
URL下的welcome字样的信息.
我们把login.html中的action
改为GET
方法, 再次从浏览器中打开页面, 提交后, 服务器代码收到的是GET
请求, nm
字段的值这次用如下代码获取:
User = request.args.get(‘nm’)
这里, args
是由字段的名称和值组成的字典对象, nm
字段的值同样被传递到了/success
URL上.
相关推荐
JessePinkmen 2020-06-14
86193952 2020-10-27
小木兮子 2020-11-11
HeyShHeyou 2020-11-17
seanzed 2020-10-15
huangliuyu00 2020-09-24
libaoshan 2020-09-11
zhangpan 2020-09-10
chongxiaocheng 2020-08-16
xcguoyu 2020-08-15
Qizonghui 2020-08-02
ldcwang 2020-07-26
mqfcu 2020-07-21
jeason 2020-07-20
sunzhihaofuture 2020-07-19
knightwatch 2020-07-19
点滴技术生活 2020-07-19
Reiki 2020-07-06