Как раскрасить текст с помощью условия в django?
У меня есть приложение django, и я хочу выделить цветом некоторый текст, если этот текст является истинным в словаре.
У меня есть такой метод:views.py
def data_compare2(request):
template = get_template("main/data_compare.html")
dict2 = {"appel": 3962.00, "waspeen": 3304.07, "ananas":24}
context = {"dict2": dict2}
res = dict((v,k) for k,v in dict2.items())
return HttpResponse(template.render(context, request, res[3962.00]))
и это шаблон:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="container center">
{% for key, value in dict1.items %}
{%if {{res}} %}
<div style="background-color:'red'"></div>
{%endif%}
{{ key }} {{value}}<br>
{% endfor %}
</div>
</body>
</html>
Так что текст appel": 3962.00 должен быть выделен красным цветом.
Вопрос: как сделать основанный текст в словаре красным?
Я бы отделил фрукты от условия, внутри контекста. Преобразуйте условие в список для проверки на шаблоне.
views.py
def data_compare2(request):
fruits = {"appel": 3962.00, "waspeen": 3304.07, "ananas":24,}
condition = ['appel', 'ananas']
context = {
'fruits': fruits,
'condition': condition
}
return render(request, 'main/data_compare.html', context)
template.html
{% extends 'base.html' %}
{% block content %}
<div class="container center">
{% for key, value in fruits.items %}
<span {% if key in condition %} style="color: red;" {% endif %}>{{ key }}: {{value}}</span><br>
{% endfor %}
</div>
{% endblock %}
В результате 'appel' и 'ananas' будут красными.