我在Dreamhost上使用Flask。我(大部分)都按照这里发布的指示https://mattcarrier.com/flask-dreamhost-setup/。我能够成功设置页面并将URL直接指向这些页面等。
现在我希望能够设置404页面。我使用@ app.errorhandler设置错误处理程序。唯一的问题是,如果我转到任何没有设置URL的页面,它只返回一个标准的Apache 500错误页面。这是因为Dreamhost如何设置Apache?公共(静态)文件夹位于顶层。我该如何解决这个问题?
答案 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编码错误,则会产生以下结果:
在这种模式下,你运气不好。唯一的选择是启动本地服务器,您可以返回并测试应用程序。在某些情况下,复制错误可能需要付出很大的努力。
启用并修补Werkzeug调试器后,您将获得更好的输出:
以下是它在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)