2010-06-09 27 views
4

我的代碼:Django的消息不認爲到期

from django.contrib import messages 
    messages.add_message(request, messages.INFO, 'Hello world.') 

我不想顯示該代碼給用戶的第二次,如果他/她再次刷新。我該如何去做呢?消息似乎沒有任何類型的過期設置。有文檔瀏覽:

http://docs.djangoproject.com/en/1.2/ref/contrib/messages/#expiration-of-messages

+0

你用什麼代碼來顯示消息?它們應該在默認情況下到期。 – 2010-06-09 13:26:55

回答

5

的消息,只要你迭代的消息(這應該是從RequestContext)清除。

所以第一步是確保你顯示的消息!如果你想阻止顯示某個頁面的消息,你可能會想要調查一些會話中的東西,但是對於我的喜好來說它有點亂。我想不出有什麼好的理由推遲下一頁的加載。

如果您正在顯示它們,並且您的郵件掛在比您預期的時間更長的時間,也許您在顯示後重新添加它們。嘗試在你的消息中加入時間戳,你會看到它們是否寫入。

+0

有道理。所以也許在我看來,我應該爲一個頁面上的第一次用戶存儲會話變量,並且僅當用戶第一次加載該頁面時才添加該消息。在這種情況下,用戶在刷新頁面時不會看到消息。如果有更好的方法糾正我!謝謝。 – ninja123 2010-06-09 13:43:20

+0

到期設置如何?你做到了嗎?我試圖將它設置爲false但不工作。 – 2016-10-17 19:24:39