2013-01-06 89 views
0

開發服務器使用django1.3,但部署服務器由django1.4提供支持。消息框架在django1.4上完全不起作用,但在1.3中使用以下代碼很有效。Django 1.4消息框架

settings.py

MIDDLEWARE_CLASSES = (
     'django.middleware.common.CommonMiddleware', 
     'django.contrib.sessions.middleware.SessionMiddleware', 
     'django.middleware.csrf.CsrfViewMiddleware', 
     'django.contrib.auth.middleware.AuthenticationMiddleware', 
     'django.contrib.messages.middleware.MessageMiddleware', 
    ) 
    INSTALLED_APPS = (
     'django.contrib.auth', 
     'django.contrib.contenttypes', 
     'django.contrib.sessions', 
     'django.contrib.sites', 
     'django.contrib.messages', 
     'django.contrib.staticfiles', 
     'django.contrib.admin', 
     ... , 
    ) 

views.py

from django.contrib import messages 
    from django.http import HttpResponseRedirect 
    ... 

    def some_view(request): 
     ... 
     mess1 = 'Thank you! Your message was received.' 
     messages.info(request, mess1) 
     return HttpResponseRedirect('/contact/') 

模板

{% if messages %} 
     <ul class="messages"> 
      {% for message in messages %} 
      <li{% if message.tags %} class="{{ message.tags }}"{% endif %}> 
      {{ message }} 
      </li> 
      {% endfor %} 
     </ul> 
    {% endif %} 
+3

什麼不行? –

+0

實際呈現該模板的視圖在哪裏? –

回答

0

你有沒有添加的郵件模板,背景處理器?

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.messages.context_processors.messages", 
) 

看到這個for more info