2

我有我的小博客应用程序,我希望能够从管理页面更改样式(不一定是全部)。在 django 项目中实现动态样式加载的“正确”方法是什么?我自己的想法:

  • 通过 Python 文件 I/O 编辑 css 文件
  • 从数据库构造css文件
  • 尽管这两种实现方式都有严重的缺陷。提前感谢您的解决方案。

    编辑:我更喜欢想法而不是 django 应用程序 :)

    4

    1 回答 1

    1

    这样做的“正确”方法是在顶级 div(甚至是 body)定义一个类,它决定了该页面的主样式。该页面中的所有可样式化元素然后通过级联的魔力继承此样式:

    .master-default {
        color: black;
    }
    .master-default .bordered {
        border: green;
    }
    .master-blue {
        color: blue;
    }
    .master-blue .bordered
        border: yellow;
    }
    

    等等。现在您的管理界面只允许用户确定顶级主样式,然后您可以在基本模板中使用它:

    <div id="master" class="{{ userprofile.master_style }}">
        <div class="bordered">Border colour will vary according to master style</a>
    </div>
    

    等等

    于 2011-05-16T10:28:43.227 回答