Как перенаправить арендатора на домашнюю страницу поддомена после того, как пользователь может войти в систему в публичной схеме

Мне нужно перенаправить на домашнюю страницу без логина в поддомене после логина в публичном арендаторе. Это означает, что предположим -

публичным доменом является : logic.com

поддомен является : tenant1.logic.com. Я попытался войти в публичный домен (logic.com/login), поэтому теперь мне нужно перенаправить на главную страницу поддомена (tenant1.logic.com/home). Без логина поддомена

def login_user(request):
    if request.method == 'GET':
        return render(request, 'users/login-user.html', {'form': AuthenticationForm()})
    else:
        user = authenticate(request, username=request.POST['email'], password=request.POST['password'])
        if user is None:
            return render(request, 'users/login-user.html', {'form': AuthenticationForm(), 'error': 'Username and '
                                                                                                    'password did not '
                                                                                                    'match'})
        else:
            client = Client.objects.filter(owner=user).first()
            with schema_context(client.schema_name):
                login(request, client.owner)
                host = request.META.get('HTTP_HOST', '')
                scheme_url = request.is_secure() and "https" or "http"
                url = f"{scheme_url}://{client.slug}.{host}"
                return HttpResponseRedirect(url)

Что я могу сделать, если кто-нибудь знает об этом?

Заранее спасибо

Также я добавил установку приложения из настроек

Думаю, вам просто нужно добавить:

SESSION_COOKIE_DOMAIN=".logic.com"

в вашем settings.py для разрешения всех поддоменов для сессии. Больше информации в документации django: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-SESSION_COOKIE_DOMAIN

Edit: я не видел вашей правки, так что вы уже установили настройки opt и это не работает. Tenant_user, похоже, использует бэкенд django по умолчанию, поэтому он будет работать с настройками. Вы заменили бэкенд?

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