【问题标题】:How to get data from a HTML table into DJango如何从 HTML 表格中获取数据到 DJango
【发布时间】:2019-01-16 23:32:42
【问题描述】:

我对 Web 开发比较陌生,所以我不确定我是否采取了正确的方法。我有一个供购房者提交信息(地址等)的网络应用程序。通过这样的购买,您可以拥有多个买家(例如您可以拥有一家企业)。我已经包含了一个表格和一些文本框,当填写时,使用 java 脚本在表格中将新买家添加为一行。我不确定如何将这些信息返回到 DJango,尽管我已经阅读了它可能涉及 AJAX 调用的地方。有没有人有任何指示? 谢谢。

【问题讨论】:

  • 我会用谷歌搜索“django forms”。 Django 有一些内置功能,可以让您将表单直接连接到模型(基本上是映射到数据库的对象)。 Here's one tutorial,但还有很多其他的。
  • 感谢您提供此信息。我现在正在使用 ModelForm,但我不确定如何处理动态数量的项目。我可以假设最多只有 3 个买家,然后为每个用户输入一组文本字段。我不认为这与能够在集合中添加不确定数量的能力几乎一样好。我在一个链接Dynamic Forms找到了一些信息,你觉得呢?
  • 因此,表单集可以处理添加动态数量的买家,但这仍然让我无法处理与买家关联的单个属性。我的愿望是填写表格的人会输入房产地址,然后将买家信息添加到下面的表格中,然后他们一次性提交。我有两个不同的模型/模型表单,并且正在使用 CreateView 泛型。我不认为有一种方法可以通过单个 CreateView 提交多种类型的 ModelForms?

标签: javascript ajax django django-models


【解决方案1】:

好的,所以我要回答我自己的问题了。

我使用 jquery 将新买家添加到表格中,以及可以删除每个买家的删除按钮。我使用 ajax 调用将买家表 (buyers = $('#buyers_table').tableToJSON();) 的地址和 json 数据发送回 Django。

然后我进入 forms.py 并为我的财产表单重写 clean(),清理地址,然后解析 self.data 以获取买家的信息并将它们作为字典列表放入 clean_data。

接下来,我为我的房产表单重写了 save(),保存了清理后的地址,然后为 clean_data 买家列表中的每个买家创建了一个买家条目,并将外键设置为当前房产。

现在我只需要进行清理并添加一些约束。顺便说一句,Visual Studio 2019 的调试器在这方面提供了很多帮助。

【讨论】:

    猜你喜欢
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多