2010-03-16 4 views
0

장고 1.2 베타를 실행하고 새로운 기능인 메시지 프레임 워크를 사용해 보았습니다.장고 1.2의 메시지 프레임 워크에 문제가 있습니다.

http://docs.djangoproject.com/en/dev/ref/contrib/messages/

모든 작동하는 것 같다,하지만 출력에 메시지를하려고 할 때, 나는 아무 것도 얻을 수 없습니다. messages 변수가 비어있는 것 같습니다. 나는 모든 설정을 두 번 확인했는데, 마치 설명서에있는 것처럼 보입니다. 무엇이 잘못 될 수 있습니까?

settings.py

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', #send messages to users 
    'django.middleware.locale.LocaleMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 

    #debug tool 
    'debug_toolbar.middleware.DebugToolbarMiddleware', 
) 

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.messages.context_processors.messages', #send messages to users 
    'django.core.context_processors.auth', 
) 

#Store messages in sessions 
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'; 

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    #'django.contrib.sites', 
    'django.contrib.admin', 
    'django.contrib.messages', 
    'debug_toolbar', 

    #my apps 
    #... 
) 

views.py

def myview(request): 

    from django.contrib import messages 

    messages.error(request, 'error test'); 
    messages.success(request, 'success test'); 

    return render_to_response('mytemplate.html', locals()); 

템플릿을 N mytemplate.html

{% for message in messages %} 
     {{ message }}<br /> 
{% endfor %} 

아무 것도 출력되지 않습니다.

답변

5

render_to_response으로 전화 하시려면 RequestContext을 사용해야합니다.

return render_to_response('mytemplate.html', locals(), 
          context_instance=RequestContext(request)) 

this documentation section의 몇 가지 화면을 참조하십시오.

+0

Tankk you! django.template에서 RequestContext 가져 오기에 추가해야 함 –

관련 문제