2015-07-12 85 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