Django:模型和视图以及 jQuery DataTables,hello world 示例

Posted

技术标签:

【中文标题】Django:模型和视图以及 jQuery DataTables,hello world 示例【英文标题】:Django: Models and Views and jQuery DataTables, hello world example 【发布时间】:2020-02-25 06:10:47 【问题描述】:

我很想了解一些与 Django 和 jQuery 相关的基本概念,以及如何将它们与模型和数据相关的应用程序与 DataTables 联系起来。

特别是,我正在寻找有关如何使用 DataTable 并将结果返回到 python 代码中以便在显示之前进行进一步操作的基本知识。例如。假设我在 DataTable 中的项目旁边销售一个复选框。同时,我可以找到如何在 JS 代码中收集标记项的示例,但没有示例如何将其从 JS 代码中获取到 Django views.py 中,以便使用 Python 进行进一步操作(例如,为 DataTable 中的标记项检索 Object.pk)。

我找到的那些答案涉及序列化、json 等,它只是一种笨拙的临时解决方案,并且可能存在更平滑/内置的解决方案。我可能是错的,但由于我找不到开始使用的好例子(hello world jQuery 和 Django 模型),我需要问:

一本书、一个视频、一个博客、一篇文章、udemy 中是否有特定的章节可以让我从零开始成为 Django 和 Datatables 的英雄?

非常感谢您的指导。

【问题讨论】:

javascript/jQuery 用于控制前端 UI,而 django 用于控制您的后端。 【参考方案1】:

DataTables 和 Django 结合起来其实效果很好,但是你要了解职责的划分,以及工作发生在哪里。

Django 是“后端”,在服务器上运行。它从数据库中检索数据,并将其格式化为表格。如果您使用的是 Datatables,您就可以免除很多 html 样式的责任。您只需要确保发出 <table> <tr> <th><td> 标记以适当地描述该表的内容。并生成一些简单的 Jquery,告诉您的网络浏览器如何处理该表。

DataTables 工作在“前端”:网络浏览器。它附加到您发送的<table>,并且可以根据用户的需要进行格式化、重新排列、搜索等。不涉及服务器。

(DataTables 还可以使用 AJAX 从服务器获取“无限”表等数据,但这是一个高级主题)。

【讨论】:

【参考方案2】:

1 Datatables是一个jQuery插件,它是基于它的,所以你需要在你的html中加载两个javascript库才能使用它。两者都与前端有关强>。

2 您可以通过在 html 页面中添加静态来连接它。 Django 是后端,它将处理 http 请求、查询数据库并返回您需要的任何数据。

读两勺django,基础不错。

还有tutorial by Mozilla

【讨论】:

【参考方案3】:

更新:

现在,当我了解更多时,我很感激答案。

我读到的一件事让我更好地理解它是你看它的哪个视图。

以上我尝试从Django的角度理解,同时从浏览器的角度理解更正确。

JQuery 就像 Excel 的 VBA,您编写“宏”并指导浏览器执行某些任务,包括与 Django 通信。

另一方面,Django 主要只提供前端/浏览器请求的内容。

因此,需要一种从 Django 数据库中检索并显示在模板上的方法,Ajax 是一种可以使用的技术。

【讨论】:

以上是关于Django:模型和视图以及 jQuery DataTables,hello world 示例的主要内容,如果未能解决你的问题,请参考以下文章

了解 django 模型关系、表单和 jquery

django:使用搜索自动生成列表视图(管理员风格)

Django学习系列之基础

使用 Django 更新模型实例

Django:使用视图和表单复制模型对象

使用 django ajax jquery 提交一个文件不起作用的表单