2012-06-12 15 views
7

私のアプリケーションは@app.routeですべてのURLリクエストをキャッチしますが、時折、私は一致するjinjaファイルがないために不良URLにぶつかります(既存の@app.routeと一致します)。ですから、このようなリクエストを404ページにリダイレクトしたいのです。404ページを作成するにはどうすればよいですか?

render_template()を返す前に「ジンジャファイルが存在します」と「ジンジャファイルが存在しません」を区別する方法はありますか?

答えて

17

テンプレートが見つからない場合に神社が例外をスローします:TemplateNotFound

ので、代わりの:

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

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

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

をそして扱います404エラーとカスタムエラーページの説明はFlask documentationです。 abortを忘れずにflaskTemplateNotFoundからjinja2

+0

からYahoo!あなたは正しいです。render_template()が実際に返されました。jinjaファイルが見つからない場合は例外です。できます。あなたのクールな答えに感謝します。 – hof0w

+0

あなたの答えに次のコードを追加してください。 'フラスコから輸入を中止する' –

関連する問題