Javascript Django通过JS而不是表单提交保存模型?

Javascript Django通过JS而不是表单提交保存模型?,javascript,python,django,forms,Javascript,Python,Django,Forms,我有一份编辑Django应用程序的合同工作,Django不是我要使用的主要框架,所以我对其中的模型有一个问题 我正在编辑的应用程序有一个表单,每个用户都可以提交,应用程序中的每个模型都直接通过表单进行编辑 从这个角度来看,似乎每个模型都直接是一个表单对象,我没有看到任何可以用于自定义变量的模型字段。这意味着我没有看到可以用JS编辑的“字符串”,我只看到一个文本字段,在这个字段中,编辑它的唯一方法是直接将它包含在表单中 如果我想拥有一些自定义变量的模型,这意味着我完全通过JS而不是表单提交来控制它

我有一份编辑Django应用程序的合同工作,Django不是我要使用的主要框架,所以我对其中的模型有一个问题

我正在编辑的应用程序有一个表单,每个用户都可以提交,应用程序中的每个模型都直接通过表单进行编辑

从这个角度来看,似乎每个模型都直接是一个表单对象,我没有看到任何可以用于自定义变量的模型字段。这意味着我没有看到可以用JS编辑的“字符串”,我只看到一个文本字段,在这个字段中,编辑它的唯一方法是直接将它包含在表单中

如果我想拥有一些自定义变量的模型,这意味着我完全通过JS而不是表单提交来控制它们,那么我将如何在Django中做到这一点

例如,我知道我可以用JS操作一些“隐藏”的表单对象。但这个解决方案听起来有点老套。有没有一个我想要的方法来解决这个问题

谢谢

编辑:似乎大多数响应都不知道我指的是什么。基本上,我希望允许客户端执行一些特殊的排序功能等,在这种情况下,我需要一些额外的数据列表。但我不希望这些列表对用户可见,它们将由js专门更改

关于SColvin的回应,我知道模型是数据库的一种表示,但从我正在处理的应用程序的设计来看,似乎模型的唯一使用方式是严格通过表单

例如,每个“字符串”都是一个“TextField”,假设我们创建了一个名为“myField”的字符串,该字段的唯一用途是在语法为{{form.myField | attr:“rows:4”}的模板中使用它

这个模型在表单之外完全没有用处。在应用程序中看到它的每个地方都有一个表单对象。这就是为什么我觉得这是编辑模型中数据的主要方法

在接受这个项目之前,我做了Django教程,但不记得看到过任何在表单之外提交模型更改的方法

更具体地说,我想在这种情况下做什么:假设我想在我的模型文件中添加一个字符串,该字符串不会包含/编辑在表单中。它对用户是不可见的。它将由一些.js函数在浏览器旁边修改,我希望在提交剩余的文档时将其保存进行此操作的预期方法是什么

如果有人能为我提供有关如何做到这一点的文档或示例,我将不胜感激!)


Edit2:自第一次编辑以来没有任何回复?不确定这篇文章是否没有出现在其他人面前。仍在寻找答案!)

正如斯科文指出的,这里有一些术语混淆;我们真的不清楚“自定义变量”是什么意思,以及它们与模型的关系

然而,您的主要困惑似乎围绕着表单。绝对不需要使用它们:它们只是更新模型的一种方法。总是可以直接在代码中编辑模型,当然,如果需要,可以从Javascript中获取数据。本教程很好地介绍了如何在不使用表单的情况下从代码更新模型


但是,如果您正在通过JS进行大量工作,那么您可能需要研究Django Rest框架,它简化了将Django模型数据转换为JSON和从JSON转换为用于客户端代码的过程。同样,尽管DRF没有做任何您在自己的代码中无法手动完成的事情,但所有这些都没有使用表单。

也许您可以澄清javascript中“自定义变量”的含义?我还认为您对“模型”(如数据库表)和字段(如数据库表中的一列)感到困惑。请检查此处的答案,它可能会对您有所帮助:我添加了更多信息,希望能够更好地描述我的问题!谢谢你的回复。我添加了更多的信息,希望能更好地描述我的问题!您在教程中提到如何在没有表单的情况下更新它?我不记得在正式的教程中(如果你是这个意思的话)。如果你能指导我,我将不胜感激!谢谢