Dreamhost上的Flask 404

时间:2014-02-17 23:47:07

标签: python http flask passenger dreamhost

我在Dreamhost上使用Flask。我(大部分)都按照这里发布的指示https://mattcarrier.com/flask-dreamhost-setup/。我能够成功设置页面并将URL直接指向这些页面等。

现在我希望能够设置404页面。我使用@ app.errorhandler设置错误处理程序。唯一的问题是,如果我转到任何没有设置URL的页面,它只返回一个标准的Apache 500错误页面。这是因为Dreamhost如何设置Apache?公共(静态)文件夹位于顶层。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可能想尝试创建文件" missing.html"在顶层。

来源:http://wiki.dreamhost.com/Creating_custom_error_pages

编辑: 要从Flask本身设置错误处理页面,请执行以下操作:

from flask import render_template

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

请参阅:http://flask.pocoo.org/docs/patterns/errorpages/

我的想法是你得到了500错误,因为Flask / Python崩溃了。你有打开调试吗?您的路由设置如何?

答案 1 :(得分:0)

我在这里找到了答案 - http://blog.tuxcoder.com/2011/9/8/dreamhost_python_wsgi/

  

如果您计划在Dreamhost端进行任何活动开发,此步骤将简化您的工作。 Werkzeug带有一个非常好的调试引擎,但默认情况下它不适用于Dreamhost配置。   或者,如果您的应用中存在简单的Python编码错误,则会产生以下结果:

     

default error page of werkzeug

     

在这种模式下,你运气不好。唯一的选择是启动本地服务器,您可以返回并测试应用程序。在某些情况下,复制错误可能需要付出很大的努力。

     

启用并修补Werkzeug调试器后,您将获得更好的输出:

     

werkzeug debugger

以下是它在Dreamhost Wiki http://wiki.dreamhost.com/Flask上所说的内容(passenger_wsgi.py中:

# Uncomment next two lines to enable debugging
# from werkzeug.debug import DebuggedApplication
# application = DebuggedApplication(application, evalex=True)