我正在使用Django和Google Web Toolkit(GWT)来完成我当前的项目。我想通过Http响应将ModelForm实例传递给GWT,这样我就可以“切断”它并按照我的喜好进行渲染。我的目标是使表单与我的models.py文件的更改保持同步,同时增加对表单外观的控制。但是,序列化,序列化器和simplejson的django类无法序列化ModelForm。也不能cPickle。我有什么选择?
答案 0 :(得分:1)
如果您使用的是纯Django,则可以将表单传递给模板,然后可以调用表单上的各个字段以获得更精确的渲染,而不是使用ModelForm.to_table。您可以使用以下内容迭代每个字段并按照您想要的方式呈现它:
{% for field in form.fields %}
<div class="form-field">{{ field }}</div>
{% endfor %}
如果您想要排除某些字段,这也使您能够使用循环内的{%if%}块进行条件检查。
答案 1 :(得分:0)
如果您的问题只是将模型表序列化为json,那么只需编写自己的simplejson序列化程序子类。