1
Django에서 메시지 미들웨어를 사용하려고하는데 뷰에서 렌더링되지 않습니다. 내가보기에이 작업을 수행 할 때Django의 메시지 미들웨어가 템플릿에 표시되지 않습니다.
views.py
messages.success(request, 'Test message.')
return render_to_response('base.html')
template.html
<ul class="messages">
{% for message in messages %}
<li class="{{ message.tags }}">{{ message }}</li>
{% endfor %}
</ul>
는 : 내가 가진 무엇
for message in messages.get_messages(request):
print message
는 모든 시간에 대한 메시지를 출력 나는이 함수를 마지막으로 사용한 이후 뷰를 호출 했으므로 메시지를 어딘가에 저장합니다. 그것은 단지 템플릿으로 보내지지 않습니다.
추가 정보 :
- 장고 버전 = (1, 2, 3, '최종'는 0)
- 난 TEMPLATE_CONTEXT_PROCESSORS에 'django.contrib.messages.context_processors.messages'를 추가했다. 참고 : Django 1.2부터 거기에 있어야하기 때문에 TEMPLATE_CONTEXT_PROCESSORS가 없으므로 방금 추가했습니다. 나는 이것이 제대로 작동하지 않을 수도 있고 이것이 문제가 될 수도 있다고 생각하지만 제대로 설정되었는지 확인하는 방법을 모른다.
- 나는 그것을 설치하기 위해 https://docs.djangoproject.com/en/dev/ref/contrib/messages/을 계속했다.
감사합니다,하지만 난 내가 TEMPLATE_CONTEXT_PROCESSORS에 'django.contrib.messages.context_processors.messages'을 추가 한 경우이 필요하지라고 생각하십시오
optional arguments
section of therender_to_response
docs 다음 변경 확인. 아니면 둘 다 필요합니까? – olofom'TEMPLATE_CONTEXT_PROCESSORS'에 추가하면 그것이 활성화되었음을 의미합니다. 템플릿에서'TEMPLATE_CONTEXT_PROCESSORS'에서 사용 된 모든 컨텍스트 프로세서를 실제로 만들려면 뷰에서'RequestContext'를 사용해야합니다. –
또한'render' 단축키를 확인하십시오. https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#render – Dor