middleware.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:django-shared-schema-tenants 作者: hugobessa 项目源码 文件源码
def get_tenant(request):
    if not hasattr(request, '_cached_tenant'):
        try:
            request._cached_tenant = get_current_site(request).tenant_site.tenant
            return request._cached_tenant
        except (TenantSite.DoesNotExist, Site.DoesNotExist):
            pass

        try:
            tenant_http_header = 'HTTP_' + get_setting('TENANT_HTTP_HEADER').replace('-', '_').upper()
            request._cached_tenant = Tenant.objects.get(slug=request.META[tenant_http_header])
        except LookupError:
            lazy_tenant = TenantMiddleware.get_current_tenant()
            if not lazy_tenant:
                return None

            lazy_tenant._setup()
            request._cached_tenant = lazy_tenant._wrapped
        except Tenant.DoesNotExist:
            return None

    return request._cached_tenant
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号