javascript - Django - 使用 javascript 显示结果(错误)

标签 javascript jquery python django forms

我有一个表单,它接受 1-6 之间的数字和一个文件。您可以在我的另一个问题中看到代码:https://stackoverflow.com/questions/43611769/django-javascript-modal-form-validation

我必须验证表单,而不必重新加载它,因为它是模态表单并且在刷新时关闭(或者应该在刷新时打开它,但我真的不喜欢重新加载的想法)。所以我希望模式显示错误,如果有的话(错误的文件类型,模型已经存在......)我将如何实现这一点?

有人建议我异步发布表单并使用 JavaScript 显示错误。我如何从 django 中的 View 发送 javascript 消息,而无需重新加载页面?用Json可以实现吗?怎么办?

提前谢谢您!

最佳答案

你必须选择:

  1. Django 验证 View 将返回 JsonResponse
    在这种情况下,您将数据发送到此 View ,该 View 将检查数据是否有效并返回适当的响应。然后解析响应并显示错误(如果有)。
  2. Javascript 验证。您在 javascript 代码中创建验证器,它将检查文件类型是否合适等。Here您有示例如何仅允许指定类型的文件。

两种情况下,您都应该在保存到数据库/服务器的 View 中验证数据,而其他人可以直接将数据发送到您的保存 View (例如使用 Postman)。 我建议采用第二种方法,因为它速度更快,而且对服务器的调用更少。

关于javascript - Django - 使用 javascript 显示结果(错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43687307/

相关文章:

javascript - jquery 数字计数到目标数字

python - Scipy.optimize.minimize 没有给出最小值,即使它看到该值

javascript - FlipClock:如何设置 EST 时间

javascript - this.props.function() 在 React 应用程序中未定义?

javascript - 为什么字符串变量可以在JS中调用forEach方法?

python - [tensorflow]安装 tensorflow-gpu,导入错误为段错误(核心转储)

python - 测试类方法中的 pytest monkeypatch.setattr()

javascript - 通过 jquery ajax 请求(加载)在加载的页面上运行 jquery 代码

jquery - 如何设置对齐多个元素

javascript - javascript 事件的顺序?