Django动态css实现

时间:2011-05-16 10:05:06

标签: python django dynamic-css

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

  • 通过Python文件I / O编辑css文件
  • 从数据库构建css文件
  • 虽然两种实现都有严重的缺点。 提前感谢您的解决方案。

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

    1 个答案:

    答案 0 :(得分:1)

    执行此操作的“正确”方法是在顶级div(或甚至正文)中定义单个类,该类确定该页面的主样式。然后,该页面中所有可以样式化的元素都通过级联的魔力继承了这种风格:

    .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>