Flask获取get参数,蓝图前缀,response响应,abort错误

获取浏览器参数

虽然都是获取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  # 也可以返回页面

猜你喜欢

转载自blog.csdn.net/qq_41781877/article/details/80320653