Flask框架从入门到精通之异常处理(十)

栏目: Python · 发布时间: 5年前

内容简介:我们在写视图函数时,会对前端传递过来的参数进行校验,如果校验不过,会给前端返回一些特定的异常信息。在Flask中,abort() 函数可以立即终止视图函数的执行,并且把相对应的错误信息返回给前端。我们浏览器调试一下:注意abort里面的状态码必须就是HTTP状态码,不能自己随便写。常见状态码如下:

我们在写视图函数时,会对前端传递过来的参数进行校验,如果校验不过,会给前端返回一些特定的异常信息。在Flask中,abort() 函数可以立即终止视图函数的执行,并且把相对应的错误信息返回给前端。

二、使用

from flask import Flask, abort

app = Flask(__name__)


@app.route('/login/<phone>')
def index(phone):
    if phone != '123456':
        abort(502)  # 立即停止视图函数执行,并把异常返回
    return phone


if __name__ == '__main__':
    # 0.0.0.0代表任何能代表这台机器的地址都可以访问
    app.run(host='0.0.0.0', port=5000, debug=True)  # 运行程序

复制代码

我们浏览器调试一下:

Flask框架从入门到精通之异常处理(十)

注意abort里面的状态码必须就是HTTP状态码,不能自己随便写。常见状态码如下:

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

  • 1xx:指示信息--表示请求已接收,继续处理
  • 2xx:成功--表示请求已被成功接收、理解、接受
  • 3xx:重定向--要完成请求必须进行更进一步的操作
  • 4xx:客户端错误--请求有语法错误或请求无法实现
  • 5xx:服务器端错误--服务器未能实现合法的请求 常见状态码:
200 OK                        //客户端请求成功
400 Bad Request               //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
403 Forbidden                 //服务器收到请求,但是拒绝提供服务
404 Not Found                 //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error     //服务器发生不可预期的错误
503 Server Unavailable        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
复制代码

三、自定义状态码信息

有时候我们感觉默认的状态码信息对于用户提示不友好,我们可以默认的状态码信息改成我们自己想要的。我们在项目中加上如下函数:

# 自定义502状态码信息
@app.errorhandler(502)
def handle_502_error(error):  # error:错误信息
    return "服务器泡妞去了"
复制代码

我们浏览器调试一下:

Flask框架从入门到精通之异常处理(十)

欢迎关注我的公众号:

Flask框架从入门到精通之异常处理(十)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Probability and Computing

Probability and Computing

Michael Mitzenmacher、Eli Upfal / Cambridge University Press / 2005-01-31 / USD 66.00

Assuming only an elementary background in discrete mathematics, this textbook is an excellent introduction to the probabilistic techniques and paradigms used in the development of probabilistic algori......一起来看看 《Probability and Computing》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器