2013-11-21 7 views
1

Есть ли способ получить доступ к переменной ADMINS из любого произвольного шаблона без добавления вручную добавления в контекст перед визуализацией, аналогично тому, как request доступен в любом шаблон с использованием RequestContext, если django.core.context_processors.request находится в TEMPLATE_CONTEXT_PROCESSORS?Получение электронных писем администратора из шаблона Django

+0

Просто передайте его на свой шаблон с одного взгляда. – sergzach

ответ

4

Вы можете написать свой собственный контекст процессора (который является регулярной функцией, которая имеет request в качестве параметра):

from django.conf import settings 

def admin_emails(request): 
    return { 'ADMINS': settings.ADMINS } 

и добавить path.to.my.context_processor.admin_emails к TEMPLATE_CONTEXT_PROCESSORS.

2

Я хотел бы использовать тег шаблона, как обсуждается этот вопрос: Can I access constants in settings.py from templates in Django?

В частности, я использую код из этого ответа: https://stackoverflow.com/a/6343321/2250326

С, что вы можете получить в AMDINS в шаблонах, как это :

{% value_from_settings "ADMINS" as admins %} 
{% for admin in admins %} 
    Name: {{ admin.0 }}<br /> 
    Email: {{ admin.1 }} 
{% endfor %} 
Смежные вопросы