我有一个django电子邮件表单,该表单发布到一个URL,该URL又会重定向到另一个并呈现成功/失败的html。
我正在使用Django Messaging框架在表单提交状态上显示成功/失败消息。
所有这些都有效,除非用户重新加载状态页面时,弹出消息并且我得到一个空白屏幕。
我想知道这种情况的正确处理方法是什么。 如果没有消息,我是否应该重定向到主页,或者可能将通用双线路作为故障保护?
PS:如果这不是一个关于SO的合适问题,请推荐一个替代网站让我提出这个问题,我找不到。
答案 0 :(得分:1)
使用Django消息框架显示的消息在后续请求中显示一次。如果刷新页面或转到其他页面,则消息将消失。这是使用消息的预期行为。
根据Django消息传递框架docs:
在Web应用程序中,您需要显示一次性 用户之后的通知消息(也称为“flash消息”) 处理表单或一些其他类型的用户输入。
消息框架允许您将消息临时存储在一个消息中 请求并检索它们以便在后续请求中显示(通常 下一个)。
要解决您的问题,您可以将成功或失败作为参数发送到url参数中,然后根据其值在模板中显示消息。然后,当用户刷新页面时,消息文本仍将显示在模板中。