Django (Как запретить пользователям прямой доступ к URL-адресам в main_app/urls.py, если пользователь вышел из системы и user.is_authenticated = FALSE

Джанго

Как запретить пользователям прямой доступ к URL-адресам в main_app/urls.py, если пользователь вышел из системы и user.is_authenticated = FALSE

Обратите внимание, что я использовал представления на основе классов в views.py. Условие, если request.user.is_authenticated(): не работает. Увидеть ниже:

class EmployeeCreate(CreateView):
    model = Employee
    fields = ['first_name', 'last_name', 'role']
    def post(self, request, *args, **kwargs):
        if request.user.is_authenticated():
            if "cancel" in request.POST:
                return HttpResponseRedirect(reverse('main_app:index'))
            elif "another" in request.POST:
                return HttpResponseRedirect(reverse('main_app:employee-add'))
            else:
                return super(EmployeeCreate, self).post(request, *args, **kwargs)

1 ответ

Класс LoginRequiredMixin решил проблему https://docs.djangoproject.com/en/2.0/topics/auth/default/

Другие вопросы по тегам