【问题标题】:Flask not reporting about url_for errors in templates and gets stuckFlask 未报告模板中的 url_for 错误并卡住
【发布时间】:2020-04-19 02:21:41
【问题描述】:

我正在用 python 开发我的第一个应用程序,但我的配置似乎有问题。如果jinja模板app有错误什么都不说,基本挂断。

这是我的最小示例:

./example.py:

import flask
app = flask.Flask(__name__)
@app.route('/')
def index():
  return flask.render_template('example.html');

./templates/example.html:

<html>
  {{ url_for('example', filename='doesnt.matter') }}
  this page will never render, RIP
</html>

./start.sh:FLASK_APP=example.py FLASK_ENV=development flask run

所以当我运行烧瓶并转到本地主机时 - 请求卡住了,我从来没有得到任何响应。整个服务器也变得没有响应,我不得不重新启动它。

环境:

  • Python 版本:3.6.5
  • Flask 版本:1.1.1

我在 venv 下使用 win7x64 mingw,但是当我通过 windows 命令提示符启动时,此行为仍在继续

控制台如下所示:

 * Serving Flask app "example.py" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 253-384-519
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

另外我想这不仅仅是关于 url_for 而是它适用于 render_template 函数中的任何错误

【问题讨论】:

  • 我无法重现您的问题,这很奇怪。我注意到您的代码末尾有一个不必要的;,也许您可​​以尝试将其删除。
  • @GreyLi 您是否尝试在 python 3.6.5 或其他版本中完全重现它?
  • 我忘了,对不起:D

标签: python flask jinja2


【解决方案1】:

问题出在 python 版本中。我将它更新到最新(3.8.5)并且问题消失了。

【讨论】:

    猜你喜欢
    • 2020-01-20
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多