gpt4 book ai didi

Django 从自定义中间件添加 contrib.messages

转载 作者:行者123 更新时间:2023-12-01 15:26:23 24 4
gpt4 key购买 nike

我已经实现了一个自定义中间件,用于检查用户配置文件中的某些字段。注册时不需要这些字段(为了使用户可以快速轻松地注册),但是,我希望他们填写它们。
我的中间件检查它们是否已设置。如果没有,它会通过消息通知用户。我遇到了两个问题。

  • 每当我提交发布的表单时,由于没有模板显示消息,中间件会第二次添加消息,因为在发布消息时调用了中间件,并且在重定向之后再次调用了它。
    我通过遍历中间件中的消息并检查我要添加的消息是否已经在其中解决了这个问题。如果是,则不再添加。
  • 当用户通过更新他们的个人资料来解决问题时,在下一页加载时,消息仍然存在。但在那之后,一切正常。在我的中间件开始时,我实际上放了一个检查,如果请求已发布,则返回 None (我原以为这会解决这两个问题,但它也没有解决)。

  • 知道如何解决第二个问题吗?有没有更好的方法来解决我的第一个问题?
    谢谢。
    编辑:
    有没有办法清除 View 中的消息?我已经尝试遍历它们(没有 storage.used=False),它们仍然存在。我希望这能解决我的两个问题。

    最佳答案

    您可以使用 https://github.com/AliLozano/django-messages-extends 的置顶消息这是一种仅将消息保存在请求中而不是保存在 session 中的存储

    关于Django 从自定义中间件添加 contrib.messages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6034213/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com