Найти - Пользователи
Полная версия: Вывод ошибки 404
Начало » Django » Вывод ошибки 404
1
andreiru
Здравствуйте!

Вызываю ошибку 404

raise Http404(u'Пояснение ошибки.')

Подскажите как забрать “Пояснение ошибки” в шаблоне 404 ?

Нужно использовать messages или есть еще варианты, вообщем как делаете вы ?)
JOHN_16
Прочитал 3 раза, все равно ничего не понял. А что вы хотите/ что пытаетесь достичь, какую задачу решить?
ilnur
JOHN_16
А что вы хотите/ что пытаетесь достичь, какую задачу решить?
если я правильно понял.
он хочет зарейзить ошибку с сообщением, а сообщение передать в 404.html

:)
andreiru
ilnur прав, я хочу зарейзить ошибку с сообщением, а сообщение передать в 404.html
andreiru
Подскажите можно ли наследовать Mixin(ы) ?

Есть у меня LoginRequiredMixin:

class LoginRequiredMixin(object):
    def dispatch(self, request, *args, **kwargs):
        if request.user.is_anonymous():
            messages.info(self.request, u'Чтобы получить доступ к запрашиваемой странице вам необходимо войти.')
            return HttpResponseRedirect(reverse('user_login'))
        return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)


Я хочу наследовать LoginRequiredMixin здесь:
class CheckHasCompanyMixin(LoginRequiredMixin, object):
    def dispatch(self, request, *args, **kwargs):
        if not request.user.has_company:
            messages.info(self.request, u'Вам необходимо создать компанию, чтобы получить доступ к запросам.')
            return HttpResponseRedirect(reverse('home'))
        return super(CheckHasCompanyMixin, self).dispatch(request, *args, **kwargs)

но LoginRequiredMixin не срабатывает, сразу работает CheckHasCompanyMixin !?
FishHook
Проверь
class Mixin(object):
    def foo(self):
        print "Mixin"
class Foo(Mixin):
    def foo(self):
        print "Foo"
        super(Foo, self).foo()
f = Foo()
f.foo()

>>>но LoginRequiredMixin не срабатывает
Значит не срабатывает if not request.user.has_company:, там и ищи ошибку
andreiru
FishHook
Проверь

Выдает ошибку 'AnonymousUser' object has no attribute ‘has_company’

Добавил для проверки request.user.is_authenticated()

if request.user.is_authenticated() and not request.user.has_company:
    ...

и все заработало !

Спасибо за внимание !
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB