2014-05-21 3 views
1

로그인 작업에서 플래시를 사용할 때 내 설정이 잘못되었다고 생각합니다. 인덱스 템플릿에서 볼 수는 없지만 "내"액션에서 플래시를 사용할 때 메시지Django 내 플래시 메시지가 작동하지 않습니다

settings.py

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'debug_toolbar', 
    'bookmarks', 
) 

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 

보기 :

def login(request): 
... 
    if user is not None and user.is_active: 
     auth.login(request, user) 
     messages.add_message(request, messages.SUCCESS, 'cant see it') 

     return redirect(reverse('bookmarks:index')) 
... 


def my(request): 
... 
    messages.add_message(request, messages.SUCCESS, 'this is twice') 

    return render(request, 'bookmarks/my.html', { 
     'bookmarks': bookmarks 
    }) 

내 index.html을

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

// 라우팅이있는 항목이 있습니까?

urlpatterns = patterns('', 
    url(r'^$', views.index, name = 'index'), 
... 
    url(r'^my/$', views.my, name = 'my'), 
... 
) 

답변

0

이러한 플래시 메시지는 페이지를 렌더링 할 때만 표시됩니다. 두 개의 메시지를 볼 이유

:

  1. 성공적 로그인
  2. 당신은 색인보기로 리디렉션 메시지를 설정는 메시지 프레임 워크는 메시지를 기억
  3. 귀하의 인덱스보기 페이지를 렌더링
  4. 및 두 메시지를 모두 표시합니다.
+0

아니요, 로그인 만하면됩니다. 색인 페이지로 이동하면 플래시 메시지가 표시되지 않습니다. 나의 두드러진 행동은 : 나는 "나의"행동으로 간 다음 색인 페이지로 간다. –

관련 문제