【发布时间】:2011-05-17 16:43:21
【问题描述】:
我已经实现了一个自定义中间件,用于检查用户配置文件中的某些字段。注册时不需要这些字段(为了使用户能够快速轻松地注册),但是,我希望他们填写它们。
我的中间件检查它们是否已设置。如果没有,它会通过消息通知用户。我遇到了两个问题。
-
每当我提交发布的表单时,由于没有模板显示消息,中间件会再次添加消息,因为在发布消息时调用了中间件,并且在重定向之后再次调用了它。
我通过遍历中间件中的消息并检查我要添加的消息是否已经在其中解决了这个问题。如果是,则不再添加。
-
当用户通过更新他们的个人资料来解决问题时,在下一页加载时,消息仍然存在。但在那之后,一切正常。在我的中间件开始时,我实际上放了一个检查,如果请求已发布,则返回 None(我原以为这会解决这两个问题,但它都没有解决)。
知道如何解决第二个问题吗?有没有更好的方法来解决我的第一个问题?
谢谢。
编辑:
有没有办法清除视图中的消息?我已经尝试遍历它们(没有 storage.used=False),它们仍然存在。我希望这能解决我的两个问题。
【问题讨论】:
标签: django messages middleware