Django消息不消失

5 投票
1 回答
1058 浏览
提问于 2025-04-15 23:44

我在视图中的代码:

   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

1 个回答

5

消息会在你开始查看它们的时候就被清除(这些消息应该可以通过 RequestContext 获取)。

所以第一步是确保你正在显示这些消息!如果你想在某个页面上暂时不显示消息,可能需要考虑把消息存到会话中,但这样做会有点麻烦,我觉得不太好。其实我想不出有什么好的理由要等到下一次加载页面再显示消息。

如果你已经在显示消息,但它们停留的时间比你预期的要长,可能是因为你在消息显示后又重新添加了它们。试着在消息中加上时间戳,这样你就能看到它们是什么时候写的。

撰写回答