【问题标题】:Django - show result (error) with javascriptDjango - 使用 javascript 显示结果(错误)
【发布时间】:2017-09-26 23:47:54
【问题描述】:

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

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

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

提前谢谢你!

【问题讨论】:

    标签: javascript jquery python django forms


    【解决方案1】:

    你必须选择:

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

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

    【讨论】:

    • 感谢您的回答。我想我必须使用 Json,因为如果模型已经存在,我必须检查视图,而这不能用 javascript 完成。你有任何例子,如何在模板中使用 javascript 处理 json?
    • 你使用 jQuery 吗?
    • 我用尽我所能,
    • 有什么建议吗?
    • 检查页面底部的这个链接:api.jquery.com/jquery.getjson 或者这个:api.jquery.com/jQuery.ajax 你只需发出ajax请求,然后在.done函数中你可以检查它是否通过验证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2020-11-15
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多