2013-07-10 3 views
0

У меня есть некоторые пользовательские представления в django-admin, связанные с моим change_form. Все работает хорошо, но теперь я хочу поднять ValidationError из своих пользовательских представлений и, следовательно, получить флешку в django-admin, которая печатает сообщение об ошибке ValidationError, то же самое происходит, если я подниму его в model.clean ().Raise 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 (заказ). «порядок» не определен? – Ricola3D

+0

В чем вопрос? –

+1

Ricola3D: правый, был только опечаткой. Бурхан: Вопрос в том, есть ли способ? –

ответ

0

Не уверен, что я понял, что вы хотите хорошо:

У вас есть мнение, по определению публичной страницы. Вы хотите, чтобы оно отображало сообщение об ошибке на страницах администрирования (по определению частная страница)? Странно. Но если вы этого хотите.

Чтобы отобразить сообщение об ошибке на страницах администратора, используйте Django Message Framework. Это то, что используется для отображения желтых строк с ошибками/уведомлениями в верхней части страниц.

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

Действительно, ошибки проверки отображаются только с формами. И, таким образом, они должны быть подняты только в методе clean() формы, формы или поля.

+0

Он заявляет, что его целью является создание пользовательского представления для страниц администратора. –

Смежные вопросы