2017-10-17 17 views
1

settings.pyファイルに特定のアプリケーションが定義されている場合、私のdjangoテンプレートにHTML要素を読み込もうとしています。しかし、それは動作しません。声明は、アプリのように動作した場合には存在しません:djangoテンプレートのINSTALLED_APPSのチェックに失敗しました

  {% if 'myapp.edit_data' in INSTALLED_APPS %} 
       <p> dfsdfsdf </p> 
      {% endif %} 

私はまた、他のアプリを試してみましたと私は同じ動作を取得。私は何が欠けていますか?

+1

INSTALLED_APPSという名前のものをテンプレートコンテキストに渡しましたか? –

答えて

3

テンプレートのINSTALLED_APPSなどの設定に自動的にアクセスすることはできません。それをテンプレートコンテキストに追加する必要があります。例えば

は、ビューでは、あなたが行うことができます:

from django.conf import settings 

def my_view(request): 
    return render(request, 'my_template.html', {'INSTALLED_APPS': settings.INSTALLED_APPS}) 

をこのチェックは、基本テンプレートにあった場合は、すべてのビューを変更するのではなく、template context processorを作成することもできます。

+0

ありがとう、私はバックティックを削除しました。 – Alasdair

関連する問題