使用context_processors变量的Django“if”条件

时间:2017-03-02 10:51:48

标签: python html django

我正在为Django网站创建一些主题,我想修改context_processors variable函数中的HTML文本颜色。

context_processors变量是:数据系统 Cameroun (到目前为止我有两个主题,但最后我可能会有4个或5个主题)。

因此,如果变量是Datasystems,则文本'color应为蓝色。如果变量是Cameroun,则文本'颜色应为绿色。

我的context_processors.py(它完美地运行)文件看起来像:

from django.conf import settings
from Configurations.models import Theme

def GetTheme(request):
    return {'mytheme' : Theme.objects.values_list('favorite_theme').last()[0].encode("ascii")}

我的HTML模板如下:

{% extends 'Base_Accueil.html' %}

{% load staticfiles %}
{% load static %}

{% block content %}

        <p align="center"><img src="{% static 'images/logo.png' %}"></p>

        {% if {% get_static_prefix %}{{ mytheme }} == "Datasystems" %}
        <h2 align="center"> <font color="#0083A2"> Bienvenue sur la page d'accueil du logiciel DatasystemsEC</font></align></h2>
        <p></p>

        {% if {% get_static_prefix %}{{ mytheme }} == "Cameroun" %}
        <h2 align="center"> <font color="#007A5E"> Bienvenue sur la page d'accueil du logiciel DatasystemsEC</font></align></h2>
        <p></p>

        {% endif %}

        {% if user.is_authenticated %}
        <h3 align="center"> <font color="#0083A2"> Vous êtes connecté(e) en tant que {{ user.username }} </font></align></h3>
        {% endif %}


{% endblock content %}

我如何执行此if条件?

1 个答案:

答案 0 :(得分:0)

使用:

{% if mytheme == "Datasystems" %}

或更好,使用:

{% load staticfiles %}
<link type="stylesheet" href="themes/{% static mytheme %}.css" />

加载statis/themes/Datasystems.css并在那里完成所有样式。