2016-09-02 3 views
0

私はdjangoアプリを持っており、memcachedの "theme"値をviews.pyから取得し、いくつかのテンプレートに渡します。 私が達成したことは、システム全体のさまざまなテンプレートのjqueryuiテーマを切り替えることができることです。ここでビューを乱雑にすることなく、djangoテンプレートにCSS名を動的に読み込む方法

は、テンプレートの例である:

<link rel="stylesheet" href="{% static "jquery-ui-1.11.4/themes/"%}{{theme}}/jquery-ui.css"> 

問題は、私は、さまざまなビューのエンドポイントのために、私はそれらのいずれかのためにそれを行うには忘れてしまった場合、テーマを取得し、合格する必要があるということです、そして、PFもちろん、テーマは見つかりません。 良い方法がありますか?たぶんテンプレートタグを使用していますか?そして、ジャンゴ> = 1.7

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       #your contxt processors 
       "path.to.app.mycontexts.mytheme", 
      ], 
     }, 
    }, 
] 

用アプリ/ settings.py

TEMPLATE_CONTEXT_PROCESSORS = (
    #your contxt processors 
    "path.to.app.mycontexts.mytheme", 
) 

で次にmycontexts.py

def mytheme(request): 
     return { 
      'theme':"themename", 
     } 

答えて

0

使用context processor

あなたがしますを取得すべてのビューで。すべてのビューごとに具体的に渡す必要はありません。

+0

これはユーザーが変更することはできません。私はこれをWebインターフェイスから管理者が変更できるようにしたいと思います。 – max

関連する問題