django-forms-builder:如何显示已完成的表单

时间:2014-10-26 20:02:15

标签: django forms

我正在使用django-forms-builder。如何填写并提交完成后的表格。我有一个pages页面,其中显示了已创建的所有表单以及要填写的表单的链接。然后我有一个page页面,我希望能够看到所有已填写的内容。

urls.py:

url(r'^pages/all/$', 'myapp.views.pages', name='pages'),
url(r'^admin/', include(admin.site.urls)),
url(r'^forms/', include(forms_builder.forms.urls)),

views.py:

def pages(request):
    published = Form.objects.published()
    return render_to_response('pages.html', {'pages': Pages.objects.all(), 'published': published })

def page(request, page_id=1):
    return render_to_response('page.html', {'page': Page.objects.get(id=page_id) })

pages_template.html:

{% for p in pages %}
    <a href="/forms/{{p}}">{{p}}</a>
{% endfor %}

page_template.html

1 个答案:

答案 0 :(得分:2)

在django-forms-builder中,已填写的表单是模型FormEntry的实例,填写的每个单独字段都是模型FieldEntry的实例。

如果要显示填写的所有表单的列表:

entries = FormEntry.objects.all()

并在模板中显示它们。

如果您想要显示填写表格的内容:

entry = FormEntry.objects.get(id=form_entry_id)  # you should have got the id from the listing
field_entries = FieldEntry.objects.filter(entry=entry)

然后在模板中显示每个field_enties[i].value

models.py。在这些情况下,源代码是您最好的朋友。 ;)