2012-08-06 7 views
4

사용자가 응용 프로그램에서 로그 아웃 할 때 메시지를 표시하기 위해 django 메시지 프레임 워크를 사용하려고합니다. 나는 장고에 익숙하지 않으며 문서는 나에게 분명하지 않다. 내 메시지가 왜 나타나지 않습니까? django 메시지가 표시되지 않습니다.

https://docs.djangoproject.com/en/dev/ref/contrib/messages/#adding-a-message

VIEW.PY

from django.contrib import messages 

def signout(request): 
    logout(request) 
    messages.add_message(request, messages.INFO, 'Signout Successful.') 
    return HttpResponseRedirect(reverse(index)) 

def index(request): 
    lf = LoginForm() 
    if request.method == "POST": 
     username = request.POST['username'] 
     password = request.POST['password'] 
     user = authenticate(username=username, password=password) 
     if user is not None: 
      if user.is_active: 
       auth_login(request, user) 
    return render_to_response('test/home.html', {'login_form': lf,}, context_instance=RequestContext(request)) 

템플릿 - 인덱스

내가 django1.3을 사용하고
{% if messages %} 
<ul class="messages"> 
    {% for message in messages %} 
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li> 
    {% endfor %} 
</ul> 
{% endif %} 

. 장고 1.3

새로운 : :이 django.core.context_processors.static 상황에 맞는 프로세서가이 릴리스에 추가되었습니다 그리고 다음은 TEMPLATE_CONTEXT_PROCESSORS에 대한 문서에서

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.core.context_processors.static", 
    #"django.core.context_processors.tz", 
    "django.contrib.messages.context_processors.messages") 

가 (주석되는 .tz주의)이 필요합니다 .

장고 1.4의 새로운 기능 : django.core.context_processors.tz 컨텍스트 프로세서가 이번 릴리스에 추가되었습니다.

+1

색인 페이지를 렌더링하는 코드는 무엇입니까? –

+0

업데이트 된보기를 참조하십시오 – thedeepfield

+0

어떤 장고 버전을 사용하고 있습니까? – zifot

답변

9

context processor and the middleware을 추가 했습니까?

+0

template_context_processors에 추가했지만, 내가 할 때 'django.contrib.auth.context_processors.auth'를 추가해야한다고 나와 있는데, 그 다음에 내 페이지 CSS 형식이 사라집니다. 그 둘을 추가 한 후에도 여전히 작동합니다. 작동하지 않습니다 .. – thedeepfield

+0

답변에 대한 업데이트 된 질문을 참조하십시오 ~ – thedeepfield

+2

"django-admin.py startproject로 만든 기본 settings.py는 이미 메시지 기능을 사용하는 데 필요한 모든 설정을 포함하고 있습니다."하지만 어떤 이유로 든 포함하지 않았습니다. TEMPLATE_CONTEXT_PROCESSORS. 조심해! – Alveoli

관련 문제