使用flask传递http请求
在计算机应用中,HTTP协议是互联网中数据通信的基础,在现实应用中,常用的两种传递HTTP请求的方法是GET和POST。在Flask框架中,默认使用GET方法。通过使用URL装饰器的参数“方法类型”,可以让同一个URL的两种请求方法都映射在同一个函数上。接下来我们上两个实例:
一、使用GET请求获取URL参数。
import flask
# 变量html_txt初始化,作为GET请求的页面
html_txt ="""
<!DOCTYPE html>
<html>
<body>
<h2>当收到GET请求时</h2>
<!设置请求方法为POST>
<form method='post'>
<input type='submit' value='点击发送POST请求'/>
</form>
</body>
</html>
"""
app = flask.Flask(__name__)
#URL映射,将GET方法和POST方法都映射到qingqiu函数
def qingqiu():
# 如果收到的请求是GET
if flask.request.method == 'GET':
# 返回html_txt的页面内容
return html_txt
# 否则返回:post请求已收到!
else:
return'POST请求已收到!'
if __name__=='__main__':
app.run(debug=True)
点击按钮发送POST请求,得到响应如下图:
二、使用重定向的方法处理URL请求。
from flask import Flask, redirect, url_for
app = Flask(__name__)
def hello_yuangong():
return'你好,工作人员!'
def hello_guest(guest):
return'欢迎游客:%s!'%guest
def hello_user(name):
if name == 'yuangong':
return redirect(url_for('hello_yuangong'))
else:
return redirect(url_for('hello_guest',guest=name))
if __name__ == '__main__':
app.run(debug=True)
浏览器中输入http://127.0.0.1:5000/user/yuangong,重定向后显示如下图:
浏览器中输入http://127.0.0.1:5000/user/除yuangong以外的任意名,重定向后显示如下图:
注释过的代码以后都不会再有注释,如有疑问的亲,可翻看之前的实例。