Django从自定义中间件中添加contrib.messages
||
我已经实现了一个自定义的中间件,用于检查用户个人资料中的某些字段。注册时不需要这些字段(为了使用户快速便捷地注册),但是,我希望将它们填写完整。
我的中间件检查它们是否已设置。如果不是,它将通过消息通知用户。我遇到两个问题。
每当我提交发布的表单时,由于没有模板显示消息,因此中间件将第二次添加该消息,因为在发布消息时调用了中间件,并且在重定向之后再次调用了中间件。
我通过遍历中间件中的消息并检查是否要添加的消息已经解决了这个问题。如果是,则不再添加。
当用户通过更新其个人资料解决问题时,在接下来的页面加载中,消息仍然存在。在那之后,一切正常。在我的中间件开始时,实际上我放了一条检查,如果发布了请求,该检查将返回None(我原以为这可以解决两个问题,但不能解决任何一个问题)。
任何想法如何解决第二个问题?有没有更好的方法来解决我的第一个问题?
谢谢。
编辑:
有没有一种方法可以清除视图中的消息?我尝试遍历它们(没有storage.used = False),它们仍然存在。我希望这可以解决我的两个问题。
没有找到相关结果
已邀请:
4 个回复
佬棠
缔恃钨
豪抱怒掳
玩翁文醚碱