Django在静态文件中使用值

时间:2019-01-21 16:23:09

标签: python html css django

我在settings.py中设置了一些标准颜色

colors = [
    ("blue", "#4a3ed0"),
    ("green", "#4ad041")
    # And some more
]

我使用以下方式加载我的静态文件:

<link rel="stylesheet" href="{% static 'defaults/default.css' %}">

我想在我的default.css中访问绿色。我做了一个模板标签(名为utils):

@register.simple_tag
def get_settings_color(color):
    for c in settings.colors:
        if c[0] == color:
            return c[1]

在我的default.css中,我尝试访问get_settings_color,但是没有用。

defaults.css:

{% load utils %}
div.green{
    color: #fff;
    background-color: {{ get_settings_color:"green" }}
    /* And some other fields */
}

1 个答案:

答案 0 :(得分:1)

由于{%%}和{{}}是Django的模板标记(html),因此您无法在CSS文件中执行此操作。

您可以做的是:

在您的html文件中,在添加标签并在那里引用它们,如下所示:

<style>
    div.green {
        color: #fff
        background-color: {{ get_settings_color:"green"}}
    }
</style>