我的应用程序使用 捕获所有 url 请求@app.route
,但偶尔会遇到一个错误的 url,我没有匹配的 jinja 文件(但它确实匹配现有的@app.route
)。因此,我想将此类请求重定向到该错误 url 的 404 页面。
在返回之前如何区分“一个 jinja 文件存在”和“一个 jinja 文件不存在” render_template()
?
如果找不到模板,Jinja 会抛出异常:TemplateNotFound
所以而不是:
def myview():
return render_template(...)
你可以这样做:
def myview():
try:
return render_template(...)
except TemplateNotFound:
abort(404)
然后按照Flask 文档中的说明使用自定义错误页面处理 404 错误。不要忘记abort
从flask
和TemplateNotFound
从导入jinja2