Tôi có một biểu mẫu Django với một số trường trong đó một trong số đó cần được lặp lại n lần (trong đó n không biết tại thời điểm thiết kế). (nếu có thể)?Django - Lặp lại một trường mẫu n lần theo một dạng
ví dụ: thay vì: -
Class PaymentsForm(forms.form):
invoice = forms.CharField(widget=ValueHiddenInput())
total = forms.CharField(widget=ValueHiddenInput())
item_name_1 = forms.CharField(widget=ValueHiddenInput())
item_name_2 = forms.CharField(widget=ValueHiddenInput())
.
.
.
item_name_n = forms.CharField(widget=ValueHiddenInput())
tôi cần một cái gì đó như: -
Class PaymentsForm(forms.form):
invoice = forms.CharField(widget=ValueHiddenInput())
total = forms.CharField(widget=ValueHiddenInput())
item_name[n] = forms.CharField(widget=ValueHiddenInput())
Cảm ơn,
Richard.
OK có vẻ thú vị, làm thế nào tôi có thể chuyển giá trị xrange (n) vào lớp khi tôi tạo một thể hiện của biểu mẫu? - (Đoán tôi cần để có được bản thân mình một số cuốn sách python :)) – Frozenskys
Điều này làm việc, nhưng tôi muốn khuyên bạn nên tách ra "n lần" trường thành một đối tượng Form riêng biệt và sử dụng một Formset, như trong câu trả lời của Daniel Roseman. –
Tôi đã thực hiện theo cách này trong một số trường hợp :) – Jiaaro