Получение ошибки DisallowedRedirect с представлением смены пароля - Django

views.py

@login_required
def mudar_senha(request):
    if request.method == 'POST':
        print(request)
        form = PasswordChangeForm(user=request.user, data=request.POST)
        if form.is_valid():
            user = form.save()
            update_session_auth_hash(request, user)  # Importante para não deslogar o usuário após a mudança de senha
            return HttpResponseRedirect(reverse('users:perfil'))
    else:
        form = PasswordChangeForm(user=request.user)
    return render(request, 'users/editar_usuario.html', {'form': form})

urls.py

"""Define padrões de URL para users"""

from django.contrib.auth.views import LoginView, LogoutView, PasswordChangeView
from django.urls import path

# Importa o modúlo viws para a pasta do app "."
from . import views

app_name = "users"

urlpatterns = [
    path('login/' , LoginView.as_view(template_name='users/login.html'), name='login'),
    path('logout/', LogoutView.as_view(next_page='learningLogApp:index'), name='logout'),
    path('perfil/', views.perfil, name='perfil'),
    path('registrar/', views.registrar, name='registrar'), 
    path('editar/', views.editar_usuario, name='editar_usuario'),   
    path('mudar_senha/', PasswordChangeView.as_view(success_url='learningLogApp:index'), name='mudar_senha'),   

]

** Тип исключения: **DisallowedRedirect

попробуйте это:

return HttpResponseRedirect(reverse('users:perfil'))

и это:

sucess_url = reverse_lazy(request, 'users/perfil.html')

и это:

return reverse_lazy(request, 'users/perfil.html')

и это:

return reverse_lazy(request, 'users:perfil')

и это:

return reverse_lazy('users:perfil')

и это:

return redirect('users:perfil')

и это:

return HttpResponseRedirect(reverse('learningLogApp:index'))

и это:

return redirect('users:perfil')

Одинаковая ошибка во всех случаях.

Ps. Пароль АРЕ меняется. Проблема в редиректе! (Значение исключения:

)

Небезопасное перенаправление на URL с протоколом)

Вернуться на верх