Как показать пользовательское сообщение «Исключения» в шаблоне Django - PullRequest
0 голосов
/ 06 февраля 2019

Я использую сообщения, чтобы показать успех, информацию и предупреждающее сообщение из классифицированных представлений Django к шаблону Django.

def delete(self, request, *args, **kwargs):
    obj = self.get_object()
    success_url = self.get_success_url()
    try:
        obj.delete()
        messages.success(self.request, self.success_message % obj.__dict__)
        return super(CurrencyDeleteView, self).delete(request, *args, **kwargs)
    except ProtectedError:
        messages.error(self.request, "can't delete this category")

Теперь я запутался, как показать это сообщение ProtectedError в шаблоне и что вернутьпосле этого message.error.

1 Ответ

0 голосов
/ 06 февраля 2019
def get_success_url(self):
    return reverse_lazy('settings:category_list')

def get_error_url(self):
    return reverse_lazy('settings:category_list')

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['active_menu'] = {"menu1":"setting","menu2":"category","menu3":"basic","menu4":"category"}
    return context

def delete(self, request, *args, **kwargs):
    obj = self.get_object()
    get_success_url = self.get_success_url()
    get_error_url = self.get_error_url()
    try:
        obj.delete()
        messages.success(self.request, self.success_message % obj.__dict__)
        return HttpResponseRedirect(get_success_url)
    except ProtectedError:
        messages.warning(self.request, self.protected_error % obj.__dict__)
        return HttpResponseRedirect(get_error_url)

Отвечая на мой вопрос, чтобы кто-то получил помощь по той же проблеме.

...