django如何根据上下文在html中设置背景颜色

时间:2019-01-09 01:47:22

标签: django

我正在尝试根据通过上下文发送的一些信息来更改django项目中的背景颜色

body base {
}

body alert {
    background-color: #FCFF33;
}

def check_alert() -> bool:
    return ...

def index(request):
    template = 'proj/index.html'
    ...
    context['alert'] = check_alert()
    return render(request, template, context)

如何基于

中的字段警报在proj.html中选择主体类

html看起来像

{% load static %}
<html>

    <link rel="stylesheet" href="{% static 'css/proj.css' %}" />
    <body>
    ...
    </body>
</html>

我想知道有没有类似的解决方案

<html>

    <link rel="stylesheet" href="{% static 'css/proj.css' %}" />
    <body class={% alert %}>  
    ...

并更改我的view.py

context['alert'] = 'alert' if check_alert() else 'base'

编辑: 在尝试art06的解决方案时,我意识到我的模板不会采用任何格式的正文。即使我不上课,也只有一个简单的CSS

body {
     background-color: #FFD9D9;
}

任何建议为何如此? 该CSS中的其他格式,例如通过

创建的表
{% render_table table%}

根据CSS内容正确实施。

2 个答案:

答案 0 :(得分:0)

CSS

body.alert{...}
body.base{...}

模板

<body class="{{alert}} ...

答案 1 :(得分:0)

如果您要引用警报...。像{{alert}}而不是{%alert%}一样引用它。