为白标/多租户站点应用样式的最佳方式

问题描述

我正处于白标/多租户网站的规划阶段。每个租户的客户会认为他们正在与租户的网站进行交互,但实际上这只是在每个人都基本相同的网站上的外观/样式。

后端方面,我有一个名为 Tenant 的模型,它具有徽标、主要品牌颜色、强调色等属性。它遵循以下范例:https://books.agiliq.com/projects/django-multi-tenant/en/latest/shared-database-shared-schema.html

vanilla 站点(无品牌/无租户活动)是一个基本的引导程序主题,主要是白色背景、黑色文本并使用蓝色作为其主要颜色和橙色作为其强调色。当租户活跃时,我需要对其进行样式设置。我只需要设计样式的真正颜色(可能还有字体)。问题是有太多与颜色相关的类(bg-{color}、text-{color}、btn-{color}、alert-{color})等,很难确保我全部都打了。>

我的问题是,为每个租户应用不同风格的最佳方法是什么?

我想到的一种方法是拥有一个独特的 CSS 文件并为每个租户提供服务。 IE。当租户修改他们的品牌信息时,运行脚本以使用 SASS 重新生成他们的 CSS 文件,并将静态 URL 保存到数据库中(例如 Tenant.css_file_url)。然后在 HTML 模板中,该文件基本上是 .虽然是一个相当完整的解决方案,但它看起来并不是很枯燥(会有几十个非常相似的文件)。我知道我可以有一个带有多个“tenantX.css”文件的“base.css”文件,但是,样式非常普遍,几乎与原始文件一样长,并且很难将所有必要的内容隔离到租户特定的。

有人知道解决这个问题的好方法吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)