如何防止 Django 消息泄漏到其他模块?
How to prevent Django messages from leaking out to other modules?
我目前使用的是django版本1.10
内置的django-messages
框架。
但是,由于消息存储在请求中,因此不像不同模块那样 "namespaced",我担心这可能会导致消息由一个模块创建的潜在情况(例如,一个消息传递框架 "your message has been sent") 可能会渗入另一个框架。
有没有办法 "namespace" 这些消息,这样我们就不会产生这种意外的影响?
另外,文档说消息在迭代时过期,这是否意味着如果我忘记迭代它们,它们有可能在多个请求中累积?
您无需遍历消息即可使它们过期。 Django 会为你做这件事。
当一个 request
得到一个 message
时,它将与下一个 request
迭代,如果模板允许它就会显示,并从 request
数据中删除。这意味着它显示一次并被删除。
从 email
模块中获取 message
并在 account
模块中显示的唯一方法是在 account
之后直接将用户重定向到 account
页面添加 message
的操作已经完成(例如,在发送电子邮件之后)。您可以通过 views
.
完全控制它
我目前使用的是django版本1.10
内置的django-messages
框架。
但是,由于消息存储在请求中,因此不像不同模块那样 "namespaced",我担心这可能会导致消息由一个模块创建的潜在情况(例如,一个消息传递框架 "your message has been sent") 可能会渗入另一个框架。
有没有办法 "namespace" 这些消息,这样我们就不会产生这种意外的影响?
另外,文档说消息在迭代时过期,这是否意味着如果我忘记迭代它们,它们有可能在多个请求中累积?
您无需遍历消息即可使它们过期。 Django 会为你做这件事。
当一个 request
得到一个 message
时,它将与下一个 request
迭代,如果模板允许它就会显示,并从 request
数据中删除。这意味着它显示一次并被删除。
从 email
模块中获取 message
并在 account
模块中显示的唯一方法是在 account
之后直接将用户重定向到 account
页面添加 message
的操作已经完成(例如,在发送电子邮件之后)。您可以通过 views
.