flask自定义500 400等错误页面


系统自带的err一般是英文的,要自定义符合人性要求的错误提示很有必要,方法如下

@app.errorhandler(500)
def page_server_error(e):
    return render_template("500.html"),500

自定义展示效果 enter image description here 附送500.html如下(我用的是客户操作频繁时出现的问题,所以延后三秒后刷新就不会报错了)

<!DOCTYPE html>
<html>
<head>
  <title>抱歉,您操作太快,请慢一点</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <style>
  body {
    background-color: #EFEFEF;
    color: #2E2F30;
    text-align: center;
    font-family: arial, sans-serif;
    margin: 0;
  }

  div.dialog {
    width: 95%;
    max-width: 33em;
    margin: 4em auto 0;
  }

  div.dialog > div {
    border: 1px solid #CCC;
    border-right-color: #999;
    border-left-color: #999;
    border-bottom-color: #BBB;
    border-top: #B00100 solid 4px;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
    background-color: white;
    padding: 7px 12% 0;
    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  }

  h1 {
    font-size: 100%;
    color: #730E15;
    line-height: 1.5em;
  }

  div.dialog > p {
    margin: 0 0 1em;
    padding: 1em;
    background-color: #F7F7F7;
    border: 1px solid #CCC;
    border-right-color: #999;
    border-left-color: #999;
    border-bottom-color: #999;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border-top-color: #DADADA;
    color: #666;
    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
  }
  </style>
</head>

<body>
  <!-- This file lives in public/500.html -->
  <div class="dialog">
    <div>
      <h1>抱歉,您操作太快,请慢一点.</h1>
    </div>
    <p>操作太快,我都计算不过来了,三秒后自动刷新本页面.</p>
  </div>
<script>
    setTimeout( function(){
        document.location.reload();
    }, 3 * 1000 );
</script>
</body>
</html>