2012-06-12 66 views
7

我的應用程序以@app.route捕獲所有的url請求,但偶爾我遇到了一個壞的url,我沒有匹配的jinja文件(它與現有的@app.route匹配)。所以我想將這些請求重定向到404頁面,以查找那個不好的網址。如何創建404頁面?

如何在返回render_template()之前區別「jinja文件存在」和「jinja文件不存在」?

回答

17

神社將拋出一個異常,如果模板未發現:TemplateNotFound

所以不是:

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

你可以做這樣的事情:

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

再處理如Flask documentation中所述,自定義錯誤頁面出現404錯誤。不要忘記從flaskTemplateNotFoundjinja2

+0

雅虎進口abort。你是對的render_template()真的返回異常,如果沒有找到jinja文件。有用。謝謝你的回答。 – hof0w

+0

請將下面的代碼添加到您的答案中。 '從瓶子進口中止' –