перенаправление django, если пользователь не аутентифицирован в методе post класса ListView

Вопрос: Я относительно новичок в django и CBV, и я пытаюсь понять, как перенаправить пользователя, если пользователь не аутентифицирован в методе post класса ListView. Таким образом, код выглядит следующим образом: #views.py from django.shortcuts import render class MyListView(ListView): def post( self, request, *args, **kwargs ): if not request.user.is_authenticated(): print "user NOT authenticated" return render(request, '/site_templates/home.html') #

Вопрос:

Я относительно новичок в django и CBV, и я пытаюсь понять, как перенаправить пользователя, если пользователь не аутентифицирован в методе post класса ListView. Таким образом, код выглядит следующим образом:

#views.py from django.shortcuts import render class MyListView(ListView): def post( self, request, *args, **kwargs ): if not request.user.is_authenticated(): print «user NOT authenticated» return render(request, ‘/site_templates/home.html’) # does not redirect # else: print «user IS authenticated» # do some stuff: this part works just fine #

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

Можно ли перенаправить пользователя сюда в TemplateView? Любая помощь будет большой.

Лучший ответ:

Возможно, попробуйте:

from django.http import HttpResponseRedirect if not request.user.is_authenticated(): return HttpResponseRedirect(‘desired URL’)

Важно подчеркнуть возврат к объекту HttpResponseRedirect.

Оцените статью
Добавить комментарий