7

私のアプリケーションは、を使用してすべてのURLリクエストをキャッチしますが@app.route、一致するjinjaファイルがない(既存のファイルと一致する@app.route)不正なURLに遭遇することがあります。だから私はそのようなリクエストをその悪いURLの404ページにリダイレクトしたいと思います。

戻る前に「jinjaファイルが存在する」と「jinjaファイルが存在しない」を区別するにはどうすればよいrender_template()ですか?

4

1 に答える 1

17

テンプレートが見つからない場合、Jinjaは例外をスローします。TemplateNotFound

したがって、代わりに:

def myview():
    return render_template(...)

あなたはこのようなことをすることができます:

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

次に、 Flaskのドキュメントで説明されているように、カスタムエラーページで404エラーを処理します。abortからインポートすることflaskを忘れないでTemplateNotFoundくださいjinja2

于 2012-06-12T10:46:15.973 に答える