1
我認爲我的設置有問題,當我在登錄動作中使用flash時,我無法在索引模板中看到它,但是當我在「我的」動作中使用flash時,我看到重複的消息Django my flash messages does not work
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'),
...
)
不,我只是登錄,接下來我去索引頁,我沒有看到Flash消息。我的secound行爲是:我去「我的」行動,然後我去索引頁,我看到標籤「這是兩次」重複 –