이 내가 할 노력하고있어 대략입니다 : 사용자가이 "추가하기"버튼을 클릭하고 그 항목이 유효한 경우,Django : 양식을 만든 후 추가 양식을 추가하는 방법?
def post(request):
VehicleFormSet = formset_factory(StaffVehicleForm)
if request.method == 'POST':
vehicle_formset = VehicleFormSet(request.POST)
if 'add_vehicle' in request.POST:
if vehicle_formset.is_valid():
form_count = vehicle_formset.total_form_count()
vehicle_formset.forms.append(vehicle_formset._construct_form(form_count))
을 기본적으로, 나는 해당 formset 또 다른 빈 양식을 추가하고 숨기려 이전 것.
위 코드의 문제점은 total_form_count()
을 늘리는 방법을 알 수 없다는 것입니다. 지금 가지고있는 방식대로라면 을 번 다시 입력하면 아무 것도 나타나지 않을 것입니다. 아마도 form_count
이 같기 때문일 것입니다. 나는 또한 _construct_form
에 전화하고 내부에 의존하는 것을 좋아하지 않는다.
이 BaseFormSet''에'empty_form' 속성이 여기에 사용 될 수 있습니다 다음은 해당 formset의 끝에서 (적어도) 하나 개의 빈 양식이 항상 있다는 것을 확인합니다. http://docs.djangoproject.com/ko/1.2/topics/forms/formsets/#empty-form "JavaScript를 사용하여 동적 양식에서보다 쉽게 사용할 수 있도록 접두어가 __prefix__ 인 양식 인스턴스를 반환합니다."다음과 같이 유지할 수 있습니다. 내 생각에 복제 할 템플릿. –
나는 JS에서 그것을하고 싶지 않다. ... – mpen
Oh 좋은 팁 Reiner Gerecke! – Humphrey