【问题标题】:Send a dictionary through HTML form to Django通过 HTML 表单向 Django 发送字典
【发布时间】:2021-06-21 14:13:34
【问题描述】:

我有一个 HTML 表单,其中有一个名为“csvModified”的输入,它用一个空值初始化,我给它以下数据。

    <input type="hidden" name="csvModified" id="csvModified" value="" />
    ...
    var dict_separators = {};
    dict_separators["column"] = separator_columns;  (String)
    dict_separators["thousand"] = separator_thousands;  (String)
    dict_separators["decimal"] = separator_decimals;  (String)
    dict_separators["children"] = final_data;  (Array [Strings])
    ...
    document.getElementById('csvModified').value = dict_separators;

在 Django 上,我收到了这个

data = request.POST.get('csvModified')
print(data)

但是输出如下[object Object]

我是否从 HTML 表单正确发送数据?是Python的问题吗?如何获取数据并对其进行迭代

【问题讨论】:

    标签: javascript python html django forms


    【解决方案1】:

    您需要先序列化 javascript 对象,然后再将其与您的表单一起发布:

    document.getElementById('csvModified').value = JSON.stringify(dict_separators);
    

    [object Object] 只是 javascript 对象的默认字符串表示形式。

    您需要在 python 端使用 json.loads() 将其转换为字典。

    【讨论】:

    • 谢谢它完美的工作!我知道我必须对 JSON 做一些事情,但我所做的没有奏效。
    猜你喜欢
    • 2019-01-05
    • 2020-11-08
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    • 2017-10-31
    • 2020-06-26
    • 2018-03-23
    相关资源
    最近更新 更多