1👍
✅
Here is example how you can do it in the login view. Pay attention to the REDIRECT_FIELD_NAME:
def login(request, login_form=AuthenticationForm, template_name='accounts/login.html',
extra_context=None):
form = login_form()
if request.method == 'POST':
form = login_form(request.POST, request.FILES)
if form.is_valid():
identification, password, remember_me = (form.cleaned_data['identification'],
form.cleaned_data['password'],
form.cleaned_data['remember_me'])
user = authenticate(identification=identification, password=password)
if user.is_active:
signin(request, user)
redirect_to = login_redirect(request.GET.get(REDIRECT_FIELD_NAME), user)
return HttpResponseRedirect(redirect_to)
else:
return redirect(reverse('profile_disabled', kwargs={'username': user.username}))
if not extra_context: extra_context = dict()
extra_context.update({
'form': form,
'next': request.GET.get(REDIRECT_FIELD_NAME),
})
return ExtraContextTemplateView.as_view(template_name=template_name,
extra_context=extra_context)(request)
Source:stackexchange.com