Как добавить redirect в LoginView?

Для добавления перенаправления (redirect) в Django LoginView, вам потребуется переопределить метод form_valid в вашем наследнике LoginView.

Перед тем как приступить, убедитесь, что у вас есть следующие импорты:

from django.contrib.auth.views import LoginView
from django.urls import reverse_lazy
from django.shortcuts import redirect

Затем создайте свой собственный класс наследующийся от LoginView:

class MyLoginView(LoginView):
    def form_valid(self, form):
        # Выполните вход пользователя
        self.login(form.get_user())

        # Перенаправьте пользователя на страницу, которую хотите
        return redirect(reverse_lazy('my_app:my_view_name'))

В этом коде, вы переопределили метод form_valid для выполнения дополнительных действий при успешной аутентификации пользователя. После успешной аутентификации, пользователь будет перенаправлен на страницу с именем my_view_name в вашем приложении my_app.

Не забудьте добавить переменную URL с именем view_name в своем файле urls.py для обработчика, на который хотите перенаправить пользователя.

from django.urls import path
from . import views

app_name = 'my_app'

urlpatterns = [
    path('my-view/', views.my_view, name='my_view_name'),
]

Убедитесь, что в urls.py вашего приложения добавлено пространство имен app_name.

app_name = 'my_app'

Теперь вы можете использовать MyLoginView вместо стандартного LoginView в вашем url-шаблоне:

from django.urls import path
from . import views

urlpatterns = [
    path('login/', views.MyLoginView.as_view(), name='login'),
]

Таким образом, при успешной аутентификации пользователь будет перенаправлен на страницу my_view.