2014-09-11 6 views
23

Ich würde gerne ein Aussehen von einer Symbolleiste in layout.html je nachdem ob DEBUG = True oder nicht.wie DEBUG in django Vorlage zu überprüfen - genau in layout.html

Ich kenne diese answer mit django.core.context_processors.debug aber es zwingt mich RequestContext statt Request zu verwenden, was ich nicht mag, btw, wie kann ich Request für layout.html verwenden, die base.html erstreckt?

Und allgemein gibt es einen besseren Weg als erwähnt oder the one using custom template tag?

Ich bin zur Zeit auf Django 1.7

+0

Dies ist im Wesentlichen die gleiche Frage wie http://stackoverflow.com/questions/1271631/how-to-check-the-template-debug-flag-in-a-django-template/1271914, und die Antwort sollte wahrscheinlich in diesem Thread sein. (Die Antwort auf diese Frage ist auch im Wesentlichen die gleiche wie die angenommene Antwort in den anderen Thread.) – mipadi

Antwort

40

In neueren Versionen von Django es möglich ist, nur durch INTERNAL_IPS in Einstellungen specifyng.

Zum Beispiel:

INTERNAL_IPS = (
    '127.0.0.1', 
    '192.168.1.23', 
) 

und dann in Vorlage gerade:

{% if debug %} 

weil Kontext Prozessoren verantwortlich für die standardmäßig und die Antworten von How to check the TEMPLATE_DEBUG flag in a django template? sind etwas veraltet.

+1

JFTR, es funktioniert auch in Django 1.8 – marcanuy

+1

es funktioniert auch in Django 1.9 – DmitrySemenov

+1

funktioniert auch für Django 1.10 – javidazac