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