Thông thường, sau khi đăng nhập hoặc đăng ký thành công , người dùng sẽ được chuyển hướng đến một trang được chỉ định trước trong tệp settings.py
.
Để người dùng đã đăng nhập được chuyển hướng đến một trang tùy chỉnh nếu họ lại truy cập vào url login/logout, làm như sau:
# app/views.py
from django.contrib.auth.views import LoginView
class LoginView(LoginView):
template_name = 'registration/login.html'
success_url = reverse_lazy('profile')
"""
Nếu user đã đăng nhập và truy cập vào trang /login/ thì sẽ được chuyển hướng đến users_logged_url
redirect_authenticated_user: True/False
"""
redirect_authenticated_user = True
users_logged_url = "/" # goto home
def get_default_redirect_url(self):
"""Return the default redirect URL."""
return resolve_url(self.users_logged_url or settings.LOGIN_REDIRECT_URL)
# app/urls.py
urlpatterns = [
path('user/login/', views.LoginView.as_view(), name='login'),
# ...
]