Flask模版实例:自定义错误页面
来源:互联网 发布:中国水资源的浪费数据 编辑:程序博客网 时间:2024/05/28 23:10
自定义错误页面
如果你在浏览器的地址栏中输入了不可用的路由,那么会显示一个状态码为 404 的错误页面。现在我们通过使用模版改造这个页面。
像常规路由一样,Flask
允许程序使用基于模版的自定义错误页面。最常见的错误代码有两个:
- 404:客户端请求未知页面或路由时显示
- 500:有未处理的异常时显示
为这两个错误代码指定自定义处理程序的方式:
@app.errorhandler(404)def page_not_fount(e): return render_template('404.html'), 404@app.errorhandler(500)def internal_server_error(e): return
和视图函数一样,错误处理程序也会返回响应。它们还返回与该错误对应的数字状态码。
错误处理程序中引用的模版也需要编写。这些模版应该和常规页面使用相同的布局,因此要有一个导航条和显示错误消息的页面头部。
Jinja2
的模版继承机制可以帮助我们解决这一问题。Flask-Bootstrap
提供了一个具有页面基本布局的基模版,同样,程序可以定义一个具有更完整页面布局的基模版,基本包含导航条,而页面内容则可留到衍生模版中定义。
首先我们创建一个基模版,它继承自 bootstrap/base.html
,其中定义了导航条
示例 templates/base.html
基模版
{% extends "bootstrap/base.html" %}{% block title %}Title{% endblock %}{% block navbar %}<div class="navbar navbar-inverse" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/">Flask</a> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="/">Home</a></li> </ul> </div> </div></div>{% endblock %}{% block content %}<div class="container"> {% block page_content %}{% endblock %}</div>{% endblock %}
这个模版的 content
块中只有一个 <div>
容器, 其中包含了一个名为 page_content
的新的空块, 块中的内容由衍生模版定义。
现在, 程序使用的模版集成自这个模版, 而不直接集成字 Flask-Bootstrap
的基模版。通过继承 templates/base.htm
模版编写自定义 404 错误页面很简单
示例 templates/404.html
使用模版集成机制自定义 404 错误页面
{% extends "base.html" %}{% block title %}Page Not Found{% endblock %}{% block page_content %}<div class="page-header"> <h1>Not Found</h1></div>{% endblock %}
阅读全文
0 0
- Flask模版实例:自定义错误页面
- flask 自定义错误页面
- flask-bootstrap 模板 +用户界面+自定义错误页面
- Flask Web 开发 错误页面自定义
- Flask: 模版
- ThinkPHP中自定义错误页面和提示页面实例
- HTML-错误页面模版01
- flask 静态文件 模版
- flask中的模版笔记
- Flask(3)-模版
- 自定义404错误页面
- 自定义错误页面
- JSP自定义错误页面
- .NET自定义错误页面
- .net自定义错误页面
- 自定义错误页面
- Thinkphp 自定义错误页面
- Tomcat自定义错误页面
- ZOJ 1602
- Netty系列之Netty高性能之道
- 安卓怎么搭建开发环境 安卓开发环境搭建教程
- Nodejs Express模块server.address().address为::
- Java堆栈实现
- Flask模版实例:自定义错误页面
- cent7下rocketmq集群配置
- 解决百度网盘超过4G限制,
- 嵌入式开发平台 迅为4418开发板如何修改开机logo?
- Longest Ordered Subsequence POJ
- windows下,分析svn日志提取变更
- SA工作流程
- 文章标题
- Foreword