2015-07-12 89 views
0

我有被調用另一個函數的視圖:Django的捕獲異常和重定向

def someview(request): 
    myfunc(**kwargs): 
    #catch exception from myfunc 
    if exception ValidationError: 
     return render("sometemplate.html) 
    elif exception IntegrityError: 
     return render("sometemplate1.html") 
    else: 
     return render("sometemplate2.html") 

這裏MYFUNC是返回一些例外。如果在該函數中有例外,我想重定向我的視圖。 如何捕獲異常並重定向視圖。 謝謝

+0

'試/ except'不起作用? –

回答

1

只需使用try/except

def someview(request): 
    try: 
     myfunc(**kwargs): 
    except ValidationError: 
     return render("sometemplate.html") 
    except IntegrityError: 
     return render("sometemplate1.html") 

    return render("success.html") 
+3

移動'try'子句外的返回值會更好,因爲否則您還將捕獲用於呈現模板 – jgadelange

+0

的例外true true,updated – reptilicus