【问题标题】:Best Practice to handle form submission status pages reload处理表单提交状态页面重新加载的最佳实践
【发布时间】:2015-09-21 10:08:03
【问题描述】:

我有一个 django 电子邮件表单,它发布到一个 URL,该 URL 又重定向到另一个并呈现成功/失败 html。

我正在使用 Django Messaging 框架在表单提交状态上显示成功/失败消息。

除了当用户重新加载状态页面时,所有这些都有效,消息被弹出并且我得到一个空白屏幕。

我想知道这种情况的正确处理方法是什么。 如果没有消息,我应该重定向到主页,或者可能有一个通用的双线作为故障安全?

PS:如果这不是关于 SO 的适当问题,请推荐一个替代网站让我问这个问题,我找不到任何问题。

【问题讨论】:

    标签: django django-forms user-experience


    【解决方案1】:

    使用 Django 消息框架显示的消息在后续请求中显示一次。如果您刷新页面或转到另一个页面,该消息将消失。这是使用消息的预期行为。

    根据 Django 消息传递框架docs

    在web应用中很常见,需要一次性显示 之后向用户发送通知消息(也称为“闪信”) 处理表单或其他一些类型的用户输入。

    消息框架允许您将消息临时存储在一个 请求并检索它们以在后续请求中显示(通常 下一个)。

    为了解决您的问题,您可以将成功或失败作为参数发送到 url 参数中,然后根据其值在模板中显示消息。然后,当用户刷新页面时,消息文本仍然会显示在模板中。

    【讨论】:

    • 谢谢。尽管这确实发生在我身上,但我更广泛的问题是最佳实践是什么?这是最佳做法吗?
    • 取决于不同的用例。如果您想在每次用户刷新时显示错误消息,您将无法使用消息。您必须在 url 中传递参数,然后根据其值显示消息。另一个选项(不推荐)是 Django 会话,您可以在会话中设置消息,然后每次都使用它来获取错误消息。
    猜你喜欢
    • 2019-12-23
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2011-12-20
    • 2013-11-19
    • 1970-01-01
    相关资源
    最近更新 更多