는 여기에 내가 그 일을 해요 방법 :어떻게 장고에서 동적 formset을 만들겠습니까?
{{ formset.management_form }}
<table>
{% for form in formset.forms %}
{{ form }}
{% endfor %}
</table>
<a href="javascript:void(0)" id="add_form">Add Form</a>
그리고 여기 JS있어 : 특별히 날 귀찮게 무엇
var form_count = {{formset.total_form_count}};
$('#add_form').click(function() {
form_count++;
var form = '{{formset.empty_form|escapejs}}'.replace(/__prefix__/g, form_count);
$('#forms').append(form)
$('#id_form-TOTAL_FORMS').val(form_count);
});
내가 escapejs
템플릿 자신을 태그 것을 써야했다 있다는 것입니다. 모든 줄 바꿈을 제거하고 작은 따옴표를 이스케이프 처리하여 내 문자열을 엉망으로 만들지 않습니다. 그러나 Django 제작자는이 상황에서 우리가 정확히 무엇을해야한다고 생각 했습니까? 그리고 그들은 왜 TOTAL_FORMS
숨겨진 필드를 가지고 있는데, 단지 <input name="my_form_field[0]" />
과 같은 배열을 사용하고 그 길이를 계산할 수 있었을까요?
하지만 왜 당신이 장고 템플릿과 자바 스크립트를 혼합입니까? – Prashanth
내가 처리 할 수 있도록. 그렇지 않으면 뷰에서 완전히 사용자 지정 양식 처리를 작성해야합니다. 그리고 Django는이 방법을 장려하는 것 같습니다. * 왜 그들이 * __prefix__와 함께이'empty_form'을 제공 했으므로 아마도 당신이 대체 할 수 있습니다. – mpen
나는'.empty_form'의 사용법을 좋아합니다. 감사! –