2013-07-10 28 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

他表示他的意图是为管理页面创建自定义视图。 –