使用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():# 如果收到的请求是GETif 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_forapp = Flask(__name__)def hello_yuangong():return'你好,工作人员!'def hello_guest(guest):return'欢迎游客:%s!'%guestdef 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以外的任意名,重定向后显示如下图:
注释过的代码以后都不会再有注释,如有疑问的亲,可翻看之前的实例。
