HTTP方法:定义了从指定URL检索数据的不同方法
方法 | 功能 |
---|---|
GET | 以未加密的形式将数据发送到服务器 |
HEAD | 和GET方法相同,服务器在响应时不会把实体部分返回,只返回首部用于验证资源信息 |
POST | 用于将HTML表单数据发送到服务器,由服务器返回信息 |
PUT | 用于上传的内容替换目标资源的所有当前表示 |
DELETE | 删除由URL给出的目标资源的所有当前表示 |
默认情况下使用GET,但可以通过method设置修改参数,改变HTTP方法,如以下例子,新建一个Flask_HTTP.html,内容如下
<html>
<body>
<form action="http://localhost:5000/mess" method="POST">
<p>Enter Your Message Here</p>
<textarea name="message" rows="4" cols="50"></textarea>
<br/>
<input type="submit" class="btn-info" value="submit"
</form>
</body>
</html>
现在再新建一个Flask_HTTP.py的python文件
from flask import Flask, redirect, url_for, request, render_templateapp = Flask(__name__)
@app.route('/')
def home():
return render_template('Flask_HTTP.html')
@app.route('/success/?<string:mess>')
def success(mess):
return 'your mess is %s' % mess
@app.route('/mess',methods = ['POST', 'GET'])
def mess():
if request.method == 'POST':
mess = request.form['message']
return redirect(url_for('success',mess = mess))
if __name__ == '__main__':
app.run(debug = True)
在python命令行中运行Flask_HTTP.py,
- 如果直接使用上述代码,要在Flask_HTTP.py所在文件夹中新建一个文件夹templates,然后将Flask_HTTP.html放入templates文件夹中,然后浏览器输入127.0.0.1:5000(也可以使用http://localhost:5000代替),就会跳转到以下画面
- 不新建文件夹,则直接在浏览器打开Flask_HTTP.html,也可展现该画面
其中HTML的表单会将POST到表单属性action的URL,同时在Flask_HTML.py中我们已经定义好了该句URL的对映函数
@app.route(’/mess’,methods = [‘POST’, ‘GET’])
紧接着将得到的mess作为变量部分传递给‘/success’的URL,浏览器在窗口中会显示
your mess is mess(你输入的信息)