将变量传递给Django中的CSS文件

问题描述 投票:3回答:3

是否可以在CSS文件中传递变量,例如在HTML文件中。例:

在views.py中:

def home(request):
    bgcolor = "#999"
    ...
    ...

在CSS文件中:

body {
    background-color : {{bgcolor}};
}

如果是的话,你能指导我如何实现这个目标吗?我真的很感激。谢谢!

编辑:好的,我的坏。我的意思是,如果用户想要如何让用户自定义他们的页面?我想我可以在不使用外部样式表的情况下完成这项工作,但我认为如果CSS是静态的并且在CDN上并且不使用模板和CPU资源来渲染CSS,那么它的服务速度最快。如果有办法实现这一点,请指导我。

css django django-templates
3个回答
5
投票

这不是做这种事情的方法。您应该在CSS文件中定义不同的类,然后在模板中使用,然后依赖于那里的变量。


1
投票

我同意Daniel Roseman的回答,但如果你真的需要这样做,你可以在模板中定义你的CSS并使用python变量,如图所示。

另一个选择是看看你是否可以使用mako templating,如果你可以使用Django。

但是,除非你有一些不寻常的令人信服的理由,你需要这样做,定义你自己的CSS类。


0
投票

您可以传递css样式属性,在html页面中添加以下行。

 <div class="profile-cover" style="background: url('{{ cover }}')">

添加属性到css类profile-cover style =“background:url('{{cover}}')”

{{cover}}是使用urls.py从views.py呈现到HTML页面的变量

© www.soinside.com 2019 - 2024. All rights reserved.