python - flaskweb开发这本书中,自定义错误页面无法渲染?

 2yuheng 发布于 2022-10-26 04:05

按照书上的步骤来的
1.在bootstrap中编写了base.html,放在templates/bootstrap目录下的
代码:

  1 {% block doc -%}
  2 
  3 
  4 {%- block html %}
  5   
  6     {%- block head %}
  7     {% block title %}{{title|default}}{% endblock title %}
  8 
  9     {%- block metas %}
 10     
 11     {%- endblock metas %}
 12 
 13     {%- block styles %}
 14     
 15     
 16     {%- endblock styles %}
 17     {%- endblock head %}
 18   
 19   
 20     {% block body -%}
 21     {% block navbar %}
 22     {%- endblock navbar %}
 23     {% block content -%}
 24     {%- endblock content %}
 25 
 26     {% block scripts %}
 27     
 28     
 29     {%- endblock scripts %}
 30     {%- endblock body %}
 31   
 32 {%- endblock html %}
 33 
 34 {% endblock doc -%}

然后在templates下编写了base.html

  1 {% extends "bootstrap/base.html" %}
  2 {% block title %}Flasky{% endblock %}
  3 {% block navbar %}
  4 
  5 
  6 

8

18 22

23

24

25 26 27 {% endblock %} 28 29 {% block content %} 30 31 32

33 {% block page_content %}{% endblock %} 34

35 36 37 {% endblock %}

还有404.html

  1 { % extends "base.html" % }
  2 { % block title % }Flasky - Page Not Found{ % endblock % }
  3 { % block page_content % }
  4 

Not Found

6

7 { % endblock % } ~

接着是python脚本语言

  1 from flask import Flask,render_template
  2 from flask_bootstrap import Bootstrap
  3 
  4 app = Flask(__name__)
  5 Bootstrap(app)
  6 
  7 @app.route('/user/')
  8 def user(name):
  9     return render_template('user.html', name = name)
 10 @app.errorhandler(404)
 11 def page_not_found(e):
 12     return render_template('404.html'),404
 13 
 14 @app.errorhandler(500)
 15 def internal_server_error(e):
 16     return render_template('500.html'),500
 17 if __name__ == "__main__":
 18     app.run()

可是最后在网页上却显示这样的结果:

我早浏览器中输入的地址是:
127.0.0.1:5000/ab

{ % extends "base.html" % } { % block title % }Flasky - Page Not Found{ % endblock % } { % block page_content % }
Not Found
{ % endblock % }

3 个回答
  • python脚本里第五行:Bootstrap(app)
    应该找个变量保存起来,如:bootstrap = Bootstrap(app)
    不然引用计数为0,又给释放掉了,等于没初始化。

    2022-10-27 00:37 回答
  • 你的python文件中漏了一个bootstrap = Bootstrap(app)
    少了bootstrap =
    模板引擎无法找到bootstrap模块目录下的模板

    2022-10-27 00:37 回答
  • 404.html中花括号和百分号间不要有空格

    2022-10-27 00:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有