获取浏览器参数
虽然都是获取GET,POST请求,与django不同的是,args,form
args ———— GET 请求获取参数
form ———— POST 请求获取参数
files ———— 图片,文件
method ———— 请求方式
在定义的views中
@blue.route('/g/', methods=['GET', 'POST'])
def get_request():
if request.method == 'GET':
get = request.args
else:
pos = request.form
return '获得'
需要说明的是flask中的args和form的字典可以重复
蓝图前缀
flask中可以设置多个蓝图,也就是说类似于django中的urls的include,因此在定义蓝图的时候可以定义它的前缀
在init文件添加
url_prefix=
app.register_blueprint(blueprint=blue, url_prefix='/hello')
这样就需要在地址前加上hello才可以接后面的url地址
response响应
类似django的HttpResponse,传入的是数据,同样需要导入
make_response
from flask import make_response
# 返回字和页面
@blue.route('/re/')
def make_re():
response = make_response('<h1>酷</h1>')
return response
redirect响应
传入的是路径,同样需要导入
redirect, 表示直接的路径
url_for,表示蓝图的别名,和路径方法法人名字
import redirect, url_for
@blue.route('/redi/')
def make_redi():
# 方法一——直接跟路径
# return redirect('/hello/index/')
# 方法二——跟的是名字,第一个参数是蓝图名字,第二个是方法名
return redirect(url_for('first.inde'))
下面就是firest和inde的配置
blue = Blueprint('first', __name__)
@blue.route('/index/')
def inde():
# return render_template('hello.html')
return send_file('../templates/hello.html')
abort错误
通过错误提示(404,505之类的)代码可以捕捉,和返回页面,
abort自定义是什么错误,同理在errorhandler也是扑捉该错误
@blue.route('/ab/')
def make_abort():
abort(404)
return 'xx'
@blue.errorhandler(404)
def get_error(exception):
return '捕捉异常%s' % exception # 也可以返回页面