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
middleware.py 文件源码
python
阅读 24
收藏 0
点赞 0
评论 0
评论列表
文章目录