如何在500响应中制作瓶子打印错误消息?

时间:2018-04-29 22:18:39

标签: uwsgi bottle

我试图调试为什么Bottle无法再找到模板,但它并没有告诉我实际上缺少哪个模板:

  File "/virtualenv/lib/python2.7/site-packages/bottle.py", line 3222, in __init__
    raise TemplateError('Template %s not found.' % repr(name))
bottle.TemplateError

控制台和网页都不包含Template %s not found.的格式化版本。

我已启用调试(禁用调试时,堆栈跟踪不会显示在网页上)。

路由处理程序实际上只是@bottle.post('/request')

这与How to make Bottle print stacktrace when running through apache modwsgi?不同,因为答案是启用调试。

使用最新的稳定瓶,0.12.13。

1 个答案:

答案 0 :(得分:0)

这对我有用 - 你的代码是否大不相同?希望你能发现差异。

from bottle import Bottle, template

app = Bottle()

@app.route('/')
def home():
    return template('foo')  # template "foo" does not exist

app.run(host='127.0.0.1', port=8080)  # Note: no debug required

响应:

% curl http://127.0.0.1:8080/

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html>
        <head>
            <title>Error: 500 Internal Server Error</title>
            <style type="text/css">
              html {background-color: #eee; font-family: sans;}
              body {background-color: #fff; border: 1px solid #ddd;
                    padding: 15px; margin: 15px;}
              pre {background-color: #eee; border: 1px solid #ddd; padding: 5px;}
            </style>
        </head>
        <body>
            <h1>Error: 500 Internal Server Error</h1>
            <p>Sorry, the requested URL <tt>&#039;http://127.0.0.1:8080/&#039;</tt>
               caused an error:</p>
            <pre>Template &#039;foo&#039; not found.</pre>
        </body>
    </html>

请注意,错误消息包含缺少的模板名称:

  

找不到模板'foo'。