编辑包含modelforms和内联formset工厂的django表单

时间:2013-12-13 10:38:30

标签: django inline-formset

我在 Django 1.5 工作。我有一个任务提交表格并编辑它。我的表单包含订单详细信息,客户详细信息,购买的产品详细信息,附件和注释。订单详情型号有客户外键,产品详情有订单外键。我正在使用订单详细信息的模型对象,客户详细信息,附件和注释以及产品的inlineformset_factory对象。我已经使用这个“多对象”表单成功插入了数据。现在我想编辑这个表格。所有这些表单对象都必须传递给模板。请帮我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用现有模板,您可以轻松创建表单。只需将您的特定表单添加到模板中,如下例所示:

<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"