24๐
โ
You can redirect users by modifying your urls.py file like below:
from django.urls import path
from django.contrib.auth import views as auth_views
from . import views
app_name = 'account'
urlpatterns = [
path('signup/', views.register, name='register'),
path('', auth_views.LoginView.as_view(redirect_authenticated_user=True), name='login'),
]
This will redirect already authenticated users from the login page.
For the signup you will have to customize your register function add an if user is authenticated check.
๐คWasi
4๐
You can use this decorator as well.
def login_excluded(redirect_to):
""" This decorator kicks authenticated users out of a view """
def _method_wrapper(view_method):
def _arguments_wrapper(request, *args, **kwargs):
if request.user.is_authenticated:
return redirect(redirect_to)
return view_method(request, *args, **kwargs)
return _arguments_wrapper
return _method_wrapper
Then call it in your views.py.
@login_excluded('app:redirect_to_view')
def someview(request):
# ...
๐คflaab
- Authentication app for Django
- Django: "order" a queryset based on a boolean field
- Django GROUP BY field value
- In Django ORM, "values" and "annotate" are not working to group by
Source:stackexchange.com