【问题标题】:Django message doesn't expireDjango 消息不会过期
【发布时间】:2011-03-01 16:00:17
【问题描述】:

我在视图中的代码:

   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

【问题讨论】:

  • 您使用什么代码来显示消息?它们应该默认过期。

标签: python django frameworks session messages


【解决方案1】:

一旦您迭代消息,消息就会被清除(应该可以从RequestContext 获得)。

所以第一步是确保您正在显示消息!如果您想推迟显示某个页面的消息,您可能想要调查将事情打入会话,但我喜欢它变得有点混乱。我想不出任何好的理由来延迟下一个页面加载的消息。

如果您正在显示它们并且您的消息挂起的时间比您预期的要长,那么您可能会在它们显示后重新添加它们。试着在你的消息中加上时间戳,你会看到它们是什么时候写的。

【讨论】:

  • 有道理。所以也许在我看来,我应该在页面上为第一次使用的用户存储一个会话变量,并且只有在用户第一次加载页面时才添加消息。在这种情况下,用户在刷新页面时看不到该消息。如果有更好的方法,请纠正我!谢谢。
  • 到期设置呢?你让它工作了吗?我试图将其设置为 false 但不起作用。
猜你喜欢
  • 1970-01-01
  • 2012-05-28
  • 2015-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-10
相关资源
最近更新 更多