Модуль AllAuth:

(источник)

Для начала, необходимо установить данный модуль в вашем виртуальном окружении следующей командой:

pip install --upgrade pip
pip install django-allauth

Далее, вы можете установить редирект на разные посадочные страницы, например для Клиента, Водителя и Администратора.

Далее, в папке проекта нужно создать папку "users" и внутри её создать файл "adapter.py" со следующим кодом:

from allauth.account.adapter import DefaultAccountAdapter

class MyAccountAdapter(DefaultAccountAdapter):

    def get_login_redirect_url(self, request):

        if hasattr(request.user, "taxidriver"):
            path = "/all_orders/"
        else:
            if hasattr(request.user, "clientprofile"):
                path = "/client_orders/"
            else:
                path = "/order/"

        return path.format(username=request.user.username)

Далее, в файл "settings.py" в раздел "INSTALLED_APPS" необходимо добавить имя ранее созданной папки "users":

'users',
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',

#'allauth.socialaccount.providers.facebook', #Временно Закоментирован
'allauth.socialaccount.providers.google',
'allauth.socialaccount.providers.instagram',
'allauth.socialaccount.providers.linkedin',
'allauth.socialaccount.providers.mailru',
'allauth.socialaccount.providers.odnoklassniki',
'allauth.socialaccount.providers.pinterest',
'allauth.socialaccount.providers.twitter',
'allauth.socialaccount.providers.vk',
????? - LOGIN_REDIRECT_URL = '/contacts/' ???????????????????????????

????? - Далее, после данного раздела, но перед разделом "MIDDLEWARE" нужно вставить следующий код:

????? - SITE_ID = 1

А так-же, после всего раздела "TEMPLATES" нужно вставить следующий код:

ACCOUNT_ADAPTER = 'users.adapter.MyAccountAdapter'

AUTHENTICATION_BACKENDS = (
    #...
    # Needed to login by username in Django admin, regardless of `allauth`
    'django.contrib.auth.backends.ModelBackend',

    # `allauth` specific authentication methods, such as login by e-mail
    'allauth.account.auth_backends.AuthenticationBackend',
    #...
)

Далее, в файл "urls.py" необходимо добавить ссылку на модуль:

path('accounts/', include('allauth.urls')),

После внесения всех вышеизложенных правок, необходимо произвести Миграцию базы данных следующей командой в консоли:

python manage.py migrate

Перерь все установлено и настроено.
Наш модуль доступен по следующей ссылке "http://localhost:8000/accounts/login/".
Операция "LogOut" доступна по следующей ссылке "http://localhost:8000/accounts/logout"




Другие материалы по Django:

Общая информация по Django
Модуль "AllAuth"
Модуль "DataTable"
Логирование в Python и Django