我的应用程序是多租户的,有许多组,有独特的网站,如group1.myapp.com, group2.myapp.com等。要求是用户应该能够为特定的组选择不同的主题。
我似乎没有想出一个好的方法来做这件事。有人做过吗?如果能得到一些建议,我会很感激。如果你还没有开始,你可以考虑使用bootstrap为主题设置可切换的css。
例如,下面是Mezzanine的演示站点,它通过将主题名称保存在cookie中来使用可切换的主题。
下面是演示代码中处理此问题的相关部分:
https://github.com/stephenmcd/mezzanine.jupo.org/blob/master/templates/base.html L28
我解决了。基本上,我允许用户选择颜色和背景,这是基本的主题组件,并将它们保存在数据库中。然后我从变量中制作主题,使用LESS CSS,效果很好。我使用NodeJS进行LESS到CSS的服务器端编译。
解决方案的Python/Django部分在github上作为Django dynamic-theme开源。如果您想实现类似的东西,请通读代码。