如何创建404页面?

时间:2012-06-12 09:50:51

标签: python flask jinja2

我的应用程序使用@app.route捕获所有网址请求,但偶尔会遇到一个错误的网址,我没有匹配的jinja文件(因为它与现有的@app.route匹配)。所以我想将这些请求重定向到这个坏网址的404页面。

如何在返回render_template()之前区分“jinja文件存在”和“jinja文件不存在”?

1 个答案:

答案 0 :(得分:17)

如果找不到模板,Jinja将抛出异常:TemplateNotFound

所以而不是:

def myview():
    return render_template(...)
你可以这样做:

def myview():
    try:
        return render_template(...)
    except TemplateNotFound:
        abort(404)

然后按照Flask documentation中的说明使用自定义错误页面处理404错误。不要忘记从abortflask TemplateNotFound导入jinja2 {/ 1}}