동일한 템플릿의 두 개의 다른 탭에 두 개의 양식이 있습니다. 폼의 모델은 외래 키를 통해 연결됩니다.장고 : 양식을 독립적으로 저장하십시오.
각 양식에 대해 제출 단추가 독립적으로 각 양식을 저장하려고 할 때 불행히도 두 양식이 하나의 제출 단추 만 눌러도 데이터를 다시 저장하려고합니다.
Views.py
def input(request):
my_demographics = DemographicForm(request.POST or None)
my_diagnosis = DiagnosisForm(request.POST or None)
context = RequestContext(request)
if request.method == 'POST':
submitted = request.POST.get('form_id', '')
if submitted == 'demographics':
# Get the Form1 instance
my_demographics = DemographicForm(request.POST)
if my_demographics.is_valid():
my_demographics_object= my_demographics.save()
my_diagnosis=DiagnosisForm({'patient': my_demographics_object.patient_id})
elif submitted == 'diagnosis':
# Get the Form2 instance
my_diagnosis = DiagnosisForm(request.POST)
if my_diagnosis.is_valid():
my_diagnosis.save()
else:
raise ValueError('No form specified !')
return render_to_response('input.html', {'frm':my_demographics, 'frm_d': my_diagnosis}, context)
input.html
<div class="tab-content">
<!-- Tab panes -->
<form class="tab-pane fade in active" id="demographics" method="post" >
<input type="hidden" name="form_id" value="demographics">
{%crispy frm%}
</form>
<form class="tab-pane fade" id="diagnosis" method="post">
<input type="hidden" name="form_id" value="diagnosis">
{%crispy frm_d%}
</form>
</div>
가능한 중복 http://stackoverflow.com/questions/1395807/proper-way-to-handle-multiple -forms-on-one-page-in-django) – madzohan
사실, OP는 같은 양식의 두 항목을 모두 제출하려고하고 링크 된 질문은 같은 페이지에서 여러 항목을 처리하는 것과 관련되어 있습니다! –
"각 양식을 독립적으로 저장하려고 시도하는 중 ... 각 양식에 제출 단추가 있습니다." – Brandon