【问题标题】:Edit django form containing modelforms and inline formset factory编辑包含模型表单和内联表单集工厂的 django 表单
【发布时间】:2014-01-01 02:18:35
【问题描述】:
我正在使用 Django 1.5。我有一个任务提交表单并进行编辑。我的表格包含订单详细信息、客户详细信息、购买的产品详细信息、附件和 cmets。订单明细模型有客户外键,产品明细有订单外键。我正在使用订单详细信息、客户详细信息、附件和 cmets 的 modelform 对象以及产品的 inlineformset_factory 对象。我已使用此“多对象”表单成功插入数据。现在我想编辑这个表格。所有这些表单对象都必须传递给模板。请帮我。提前致谢。
【问题讨论】:
标签:
django
inline-formset
【解决方案1】:
使用现有模板,创建表单非常容易。只需将您的特定表单添加到您的模板中,如下例所示:
<form action="{% url 'changeprofile' %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ user_form }}
{{ location_form }}
{{ user_profile_form }}
<input type="submit" value="Submit" />
</form>
当然,您的视图需要正确实例化它们。
from django import shortcuts
...
user_form = UserForm
user_profile_form = UserProfileForm2(initial=inital_form_values)
location_form = LocationForm
forms = {'user_form':user_form,
'user_profile_form':user_profile_form,
'location_form':location_form}
return shortcuts.render(request, 'changeprofile.html', forms)
enctype="multipart/form-data" 只有在您有文件或图像等数据时才需要。