Django==1.11.7
django-tenant-schemas==1.8.0
django-allauth==0.34.0
使用django-tenant-schemas (postgres)创建多租户网站。 在不同的租户中,需要不同的设置。
更具体地说,ACCOUNT_EMAIL_VERIFICATION需要不同的设置。
一个租户需要 `ACCOUNT_EMAIL_VERIFICATION = "optional"`,而另一个租户需要 `ACCOUNT_EMAIL_VERIFICATION ="mandatory"`。
查看源代码,发现该设置似乎无法自定义,它是针对整个django站点固定的。
-> 如何实现这一点?
return connection.schema_name
,需要在 SETTINGS 文件顶部加上from django.db import connection
。显然,这会导致设置文件出现问题,因为我的 SECRET KEY 不再被找到,虽然它明显存在且未更改,结果导致django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty
。 - Davythis_tenant = get_tenant()
? - DavyACCOUNT_EMAIL_VERIFICATION = lambda: get_tenant_email_verification()
,其中get_tenant_email_verification()
函数立即返回mandatory
或optional
。然后,lambda 避免了在读取设置时出现的错误,但由于某种原因,在使用变量时 lambda 没有被评估。 - Davy