簡體   English   中英

Django的形式建設者。 如何更新表格?

[英]django-forms-builder. How do I update a form?

我在我的項目中使用django-forms-builder ,只有一件事我無法理解。 如何設置更新表單以編輯填寫的表單?

這是我嘗試為django-forms-builder創建更新表單

urls.py

url('forms/update/(?P<pk>\d+)/$', FormUpdateView.as_view(),
                                 name='form-update'),

views.py

class FormUpdateView(UpdateView):
    model = FieldEntry
    template_name = 'form/update_form.html'
    form_class = FormForForm
    success_url = '/assessments/all/'

update-form.py

{% render_built_form id=form_instance.id %}

我還沒有使用過這個軟件,但它可以填補我的武器庫中的一個位置,所以我對它進行了一次嘗試。 我不是在使用CBV,因為我仍然只是在四處尋找。 這只是獲取部分,我可以在周末擴展如何處理帖子部分(最好是用CBV處理)。 使用視圖函數實現post是相對簡單的( if request.METHOD == "POST":#update the row )。 渲染當然只是簡單的原始HTML,但forms_builder不提供任何樣式輸入。 您可能希望將用戶添加到FormEntry上,我對授權還不是很了解。 我會考慮一下並修改答案。

views.py

from forms_builder.forms.models import Form

def get_form(request, slug, pk):
    form_obj = Form.objects.get(slug=slug)
    form_instance = form_obj.entries.get(pk=pk)
    form = FormForForm(form=form_obj, instance=form_instance, context=request)
    return render_to_response('update_form.html', {'form':form_instance.form, 'request':request})

模板/ update_form.html

{{ form.as_p }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM