首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在注册django-租户后重定向到租户域?

在注册django-租户后重定向到租户域?
EN

Stack Overflow用户
提问于 2019-12-21 21:06:03
回答 2查看 514关注 0票数 0

我使用的是django-tenants库,其中每个租户都是一个独立的独立postgres模式。django租户模块做了很多繁重的工作,我有以下代码,每次有人注册时都会创建一个新的租户。我关心的是schema_context函数,它(成功地)在新创建的模式中创建了一个用户,但我关心的是如何登录该用户并将其重定向到customname.my-domain.com,如下所示:

代码语言:javascript
复制
class SignupView(View):
    def get(self, request):
        form = RegistrationForm()
        return render(request, "accounts/signup.html", {"form": form})

    def post(self, request, *args, **kwargs):
        form = RegistrationForm(request.POST)
        if form.is_valid():
            instance = form.save(commit=False)
            tenant = Client(domain_url=company + ".my-domain.com", schema_name=company, name=company, paid_until="2019-05-10", on_trial=False)
            tenant.save()

            with schema_context(tenant.schema_name):
                instance.save()
                # login(request, instance) - how do I login this user 
                # render.... and redirect them to the newly created domain e.g company.my-domain.com
        return render(request, "accounts/signup.html", {"form": form})
EN

回答 2

Stack Overflow用户

发布于 2020-04-17 04:10:48

我是Django租户的维护者。由于租户可能需要一些时间来设置,因此我建议您使用celery来创建租户。一旦设置了租户,我就会向用户发送一封电子邮件,以验证他们的帐户/租户,从而将他们带到他们的租户那里。

票数 1
EN

Stack Overflow用户

发布于 2020-07-06 00:22:38

我用这种方法解决了这个问题。

代码语言:javascript
复制
subdomain = form.cleaned_data["subdomain"]
host = request.META.get('HTTP_HOST', '')
scheme_url = request.is_secure() and "https" or "http"
url = f"{scheme_url}://{subdomain}.{host}"

return HttpResponseRedirect(url)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59436447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档