我当前的项目使用 Django 和 Google Web Toolkit (GWT)。我想通过 Http 响应将 ModelForm 实例传递给 GWT,以便我可以“切割”它并根据需要呈现它。我的目标是使表单与 models.py 文件的更改保持同步,同时增强对表单外观的控制。但是,用于序列化的 django 类、序列化程序和 simplejson 无法序列化 ModelForm。 cPickle 也不能。我有什么选择?
最佳答案
如果您使用纯 Django,则可以将表单传递到模板,然后可以调用表单上的各个字段以进行更精确的呈现,而不是使用 ModelForm.to_table。您可以使用以下命令迭代每个字段并按照您想要的方式呈现它:
{% for field in form.fields %}
<div class="form-field">{{ field }}</div>
{% endfor %}
如果您想排除某些字段,这还使您能够在循环内使用 {% if %} block 进行条件检查。
关于python - 在 Django 中序列化 ModelForm 对象的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/369230/