python – Django – css文件中的模板标签

我正在尝试根据我正在使用的PageSetting模型修改页面的CSS.我允许用户根据一些PageSetting属性更改页面主题的外观.

class PageSettings(SingletonModel):
    theme = models.IntegerField(choices=THEMES,
                                verbose_name=_("Theme"),
                                default=0)
    base_color = RGBColorField(blank=False,
                               verbose_name=_("Base color"),
                               default="bc0000")

    ...

我想要做的是根据base_color改变我的CSS中的一些值.几乎是这样的:

# inside my_theme.css
.side-bar {
  background: {{ pagesetting.base_color }};
  float:left;
  width: {{ pagesetting.sidebar_width}}%

  ...

}

在Django中这是可以理解的吗?我知道我能做到

< div class =“sidebar”style =’background-color:#{{pagesetting.base_color}};’>

但这使得我的HTML变得难看并且难以调试.

最佳答案 你可以在< style>< / style>中进行.视图文件中的标记

<style>
    .side-bar {
       background: {{ pagesetting.base_color }};
       float:left;
       width: {{ pagesetting.sidebar_width }};

       ...

    }
</stlye>
点赞