【问题标题】:Cannot use master template in Flask error handler无法在 Flask 错误处理程序中使用主模板
【发布时间】:2014-12-16 15:06:00
【问题描述】:

我可以在使用 Jinja2 模板的 Flask 中创建一个错误处理程序,但是当我在该模板中使用主模板时,我收到此错误:

TypeError: 'NoneType' object has no attribute '__getitem__'
INFO     2014-10-21 11:41:40,453 module.py:659] default: "GET /a HTTP/1.1" 500 291

这是我的处理程序代码:

@app.errorhandler(404)
def page_not_found(e):
   return render_template('404.html'), 404

模板:

{% extends "master.html" %}
{% block body %}

404

{% endblock %}

我正在使用 AppEngine Launcher 进行测试。

【问题讨论】:

  • 如果master.html不太大,可以给我们看一下吗?

标签: python google-app-engine flask jinja2


【解决方案1】:

看起来您在master.html 中有某种变量,它是其他页面的提供者,但不是错误处理页面的提供者。在尝试访问其属性之前,请确保您是否正在使用任何变量来检查该变量是否存在。

【讨论】:

  • 谢谢。原来是因为我使用 request.endpoint 来生成规范的 url。
猜你喜欢
  • 2016-09-16
  • 2019-06-20
  • 2021-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多