2008-12-15 48 views
1

我正在为当前项目使用Django和Google Web Toolkit(GWT)。我想通过Http响应将ModelForm实例传递给GWT,以便我可以“砍”它并按照我的意愿渲染它。我的目标是保持表单与我的models.py文件的更改保持同步,但增加了对表单外观的控制。但是,用于序列化,序列化程序和simplejson的django类无法序列化ModelForm。也不能cPickle。我有什么选择?在Django中序列化ModelForm对象的最佳方法是什么?

+0

要“保持表单与我的models.py的更改同步”,是否需要在客户端中实现与django.forms等效的东西? – muhuk 2008-12-15 19:18:36

回答

1

如果您使用的是纯粹的Django,您可以将表单传递给您的模板,然后可以调用表单上的各个字段以进行更精确的呈现,而不是使用ModelForm.to_table。您可以使用下面的方法遍历每个字段并使其你到底如何想:

{% for field in form.fields %} 
    <div class="form-field">{{ field }}</div> 
{% endfor %} 

这也将给您用做条件检查的能力{%如果%}循环内的块应该要排除某些领域。

0

如果您的问题只是将ModelForm序列化为json,只需编写您自己的simplejson序列化器子类。

相关问题