2013-07-10 27 views
0

我在django-admin鏈接到了我的change_form中有一些自定義視圖。 一切運作良好,但現在我想從我的自定義視圖中引發一個ValidationError,並因此在django-admin中打印出ValidationError的msg,這與在model.clean中引發它相同)。從自定義視圖中提升django管理員驗證錯誤

,我使用自定義視圖的例子:

@site.admin_view 
def send_transaction_mail(request, obj_id, typ): 
    order = Order.objects.get(id=obj_id) 
    if typ == 'SHIPMENT': 
     send_order_confirm(order) 
    else: 
     raise Exception("Something goes wrong sending transaction mail") 
    return HttpResponseRedirect(request.META['HTTP_REFERER']) 

有沒有辦法?謝謝

+0

ordine = send_order_confirm(order)。 「訂單」是不確定的沒有? – Ricola3D

+0

問題是什麼? –

+1

Ricola3D:對,只是一個錯字。 Burhan:問題是,有沒有辦法? –

回答

0

不知道我理解你想要什麼好:

您有一個觀點,通過定義一個公共頁面。你希望它在管理頁面顯示錯誤信息(按定義私人頁面)?這很古怪。但如果你想這樣。

要在管理頁面中顯示錯誤,請使用Django Message Framework。正在使用的是在頁面頂部顯示錯誤/通知的黃色行。

from django.contrib import messages 
messages.error(request, "Something goes wrong sending transaction mail"); 

確實,驗證錯誤只顯示窗體。因此,它們只能在表單,表單集或字段的clean()方法中提出。

+0

他表示他的意圖是爲管理頁面創建自定義視圖。 –