Вы проверили, что переменная messages действительно содержит сообщения, прежде чем вызывать render_to_response (), верно? В противном случае просмотрите исходный код полученного HTML-кода и посмотрите, есть ли что-нибудь там. Вам не хватает тега <<strong> tr > вокруг ячеек заголовка.
Также попробуйте вызвать render_to_response немного по-другому.
return render_to_response('users/messaging/inbox.html', {'messages': messages})
По умолчанию шаблон будет отображаться с использованием экземпляра Context , заполненного значениями из предоставленного словаря. Поэтому вы можете назвать это в этой более простой форме. Вы не используете переменные request в шаблонах представления, поэтому вам не нужен RequestContext, который использует обработчики контекста для предоставления вашему шаблону дополнительной информации, извлеченной из запроса.
@ fceruti правильно, что вы столкнулись с django.contrib.messages . Когда вы использовали RequestContext, Django циклически просматривал ваш TEMPLATE_CONTEXT_PROCESSORS (объявленный в файле settings.py), чтобы предоставить больше переменных для вашего шаблона. В частности, в django.contrib.messages.context_processors.messages добавлена переменная messages , которая изменила вашу собственную. Измените имя вашей переменной, и все будет в порядке.
Каждый процессор применяется по порядку.
Это означает, что если один процессор добавляет
переменная к контексту и второй
процессор добавляет переменную с
то же имя, второе будет переопределять
первый.