ajax 表单转json,通过AJAX将Django表单作为JSON发送

你可以做的两件事是:将表单呈现为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,只需将其转换为字符串即可。在