cssfi中的Django模板标记

2024-06-16 12:54:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图根据我使用的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中的一些值。差不多是这样的:

^{pr2}$

这是Django的Acheivable吗?我知道我能行

<div class="sidebar" style='background-color:#{{pagesetting.base_color}};'>

但这使得我的html难看,更难调试。在


Tags: 用户name模型default主题verbosebase属性
2条回答

没有办法修改css本身,你必须在html中设置属性。我相信这样做的一个好方法是在元素中添加一个预定义的css类。也就是说,在你的css中,你将为你想要的每种样式有一个类,并且你将在你的html中添加你想要的一个。在

代码示例:

<div class={{ my_style_class_red }}>
 ....
</div>

编辑:如果您有大量的选项(例如,如果您想定制元素的大小),您应该使用<style>标记并用python变量修改其参数。在

代码示例:

^{2}$

您可以在视图文件中的<style></style>标记中执行此操作

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

       ...

    }
</stlye>

相关问题 更多 >