2017-03-02 18 views
0

私のDjangoウェブサイトのテーマをいくつか作成していますが、context_processors variableのHTMLテキストの色を変更したいと思います。context_processors変数のDjango "if"条件

context_processors変数は次のとおりです。データシステムまたはカメルーン(私は今までの2つのテーマを持っていますが、私は最後に多分4または5テーマを持つことになります)。

変数がDatasystemsの場合、テキストの色は青色でなければなりません。変数がCamerounの場合、テキストの色は緑色になります。

マイcontext_processors.py(それは完璧に動作します)ファイルは次のようになります。

私はこの if条件を実行するにはどうすればよい
{% 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 %} 

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テンプレートは次のようになりますか?

+1

そこに 'get_static_prefix'を使用する理由がわかりません。そして、とにかく、数日前にこの質問に答えなかったのですか? –

+1

'{%if mytheme ==" Datasystems "%}"と思っているかもしれませんが、なぜif文の中に '{%get_static_prefix%} 'を含めるのか分かりません。 – Alasdair

+0

@DanielRoseman私はcontext_processors変数を呼び出す前に 'get_static_prefix'を書く必要があると思いました。私はこれについての文書をよく読んでいなかった。あなたは正しい、おそらく1週間ですが、文脈は少し異なります。私は、この変数を 'href'で' if'ステートメントでパスに追加していません。申し訳ありませんが、あなたの視点から重複している場合 – Deadpool

答えて

0

用途:

{% if mytheme == "Datasystems" %} 

以上、使用:

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

statis/themes/Datasystems.cssをロードして、あそこにすべてのあなたのスタイリングを行います。