2010-08-02 3 views

ответ

2

Весь смысл процессоров контекста заключается в том, что они автоматически добавляют элементы в контекст. Таким образом, вы можете просто использовать {{ request.host }} или что-то еще в шаблоне.

Редактировать после комментария Нет, это не имеет ничего общего с общими представлениями. Общие представления действуют точно так же, как ваши собственные представления, которые используют RequestContext, как показано выше. Если вы хотите сделать объект request доступным автоматически в ваших представлениях, все, что вам нужно сделать, это добавить код ниже к вашим настройкам.py - трудно понять, как это может быть быстрее.

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth", 
    "django.core.context_processors.debug", 
    "django.core.context_processors.i18n", 
    "django.core.context_processors.media", 
    "django.contrib.messages.context_processors.messages", 
    "django.core.context_processors.request" 
) 

(Это просто список по умолчанию процессоров контекста, как описано в документации, с request один добавил.)

+0

Но это только в обобщенном зрения права? Я использую render_to_response, и он ничего не показывает на html. Я думаю, мне нужно определить что-то вроде TEMPLATE_CONTEXT_PROCESSORS с функциями и т. Д., Но это выглядит сложным, и я ищу быстрое, простое и стандартное решение. –

+0

ok, found это спасибо –

Смежные вопросы