gpt4 book ai didi

python - 通过 AJAX 将 Django 表单作为 JSON 发送

转载 作者:太空宇宙 更新时间:2023-11-03 12:04:31 24 4
gpt4 key购买 nike

我正在使用 Django 1.8.8 开发项目,我需要将 Django 表单转换为 JSON 格式,以便我可以通过 AJAX 调用将其发送到浏览器。

我发现这个包 ( https://github.com/WiserTogether/django-remote-forms ) 在 Pypi 上不再可用。此外,自上次提交以来已有 2 年了。

你能给我一些关于做什么或使用哪个包的建议吗?

预先感谢您的帮助。

最佳答案

您可以做的两件主要事情是:

  • 将表单呈现为 HTML 字符串,然后发送。

  • 创建一个 JSON 对象,可以从中构建 HTML。

这是一个如何将表单对象转换为 json 的示例:

import json
def form_to_json(form):
result = {}
for name, field in form.fields.iteritems():
result[name] = field_to_dict(field)
return json.dumps(result)

def field_to_dict(field):
return {
"type": field.__class__.__name__,
"widget_type": field.widget.__class__.__name__,
"hidden": field.widget.is_hidden,
"required": field.widget.is_required,
"label": field.label,
"help_text": field.help_text,
"min_length": field.min_length, # optional
"max_length": field.max_length, # optional
"initial_value": field.initial,
}

如果您还想处理服务器端的错误消息,您应该也将该信息包含在 field_to_dict 中。

要将表单呈现为 html,只需将其转换为字符串即可。

关于python - 通过 AJAX 将 Django 表单作为 JSON 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36288922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com