我的应用程序使用 @app.route
捕获所有 url 请求,但偶尔我会遇到一个错误的 url,我没有匹配的 jinja 文件(但它确实匹配现有的 @应用程序路由
)。所以我想将此类请求重定向到该错误网址的 404 页面。
如何在返回 render_template()
之前区分“存在 jinja 文件”和“不存在 jinja 文件”?
最佳答案
如果找不到模板,Jinja 将抛出异常:TemplateNotFound
所以代替:
def myview():
return render_template(...)
你可以这样做:
def myview():
try:
return render_template(...)
except TemplateNotFound:
abort(404)
然后使用自定义错误页面处理 404 错误,如 Flask documentation 中所述.不要忘记从 flask
导入 abort
和从 jinja2
TemplateNotFound
关于python - 如何创建 404 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10994195/