У меня есть общие данные (номер сообщения пользователя вошедшего в систему) для отображения на каждой странице. Я могу просто перейти к шаблону какКак передать общие словарные данные на каждую страницу в django
dict={'messagenumber':5}
return render_to_response('template.html',dict,context_instance=RequestContext(request))
Но это выглядит утомительно, если у меня эти данные диктофона проходят на очень страницу. Есть ли более простой способ передачи общих данных на каждую страницу?
Thanks
Два примечания: 1) Вы должны будете иметь django.contrib.auth.middleware.AuthenticationMiddleware в вашем MIDDLEWARE_CLASSES устанавливающего для того, чтобы request.user работать. 2) Только шаблоны, обработанные с помощью django.template.RequestContext-экземпляров в контексте, будут иметь обработчики контекста. –
спасибо, еще пару вопросов. *) Я могу поместить этот метод в любом месте (в любых моих файлах просмотра)? *) Добавление этого процессора, как 'myproject.myapp.myview.messagenumber_processor'? и *) Как назвать эти данные в шаблоне? request.messagenumber_processor? – icn
@Joseph Действительные баллы, которые указаны в ссылках, которые я разместил, но спасибо! @xlione Технически вы можете добавить его в свой проект, но его рекомендуется поместить в 'context_processors.py' для приложения, с которым будут работать эти процессоры контекста. Чтобы вызвать данные в вашем шаблоне, обратитесь к dict, который вы возвращаете в процессор контекста. Например, в моем примере, если я поместил '{{messagenumber}}' в свой шаблон, он выдаст '5', полагая, что я правильно подключил свой контекстный процессор. – Bartek