模板中的“添加另一个表单”按钮(如Django admin)

2024-06-01 00:31:34 发布

您现在位置:Python中文网/ 问答频道 /正文

如何为呈现的表单集创建“添加另一个”按钮?在

我注意到人们使用jQuery(Dynamically adding a form to a Django formset with Ajax)来实现这一点

django polls教程并没有真正解释如何在管理中生成“addanchoice”链接。 (https://docs.djangoproject.com/en/1.6/intro/tutorial02/

如何在模板、视图和表单中重用相同的功能?在

这是我的一些代码。在

表单.py

class StudentForm(forms.ModelForm):
    # The last 15 years.
    thisYear = int(time.strftime("%Y"))
    farAway = thisYear-15
    years = []
    for y in range(farAway,thisYear):
        years.append(str(y))

    birth_date = forms.DateField(widget=SelectDateWidget(years=tuple(years)))
    class Meta:
        model = Student
    def __init__(self, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.form_method = 'post'
        self.helper.form_action = ''

        self.helper.add_input(Submit('submit', 'Submit'))
        super(StudentForm, self).__init__(*args, **kwargs)

添加-学生.html

^{pr2}$

视图.py

def addStudents(request):
    StudentFormSet = formset_factory(StudentForm, can_delete=True, extra=3)
    if request.method == 'POST':
        formset = StudentFormSet(request.POST)
        if formset.is_valid():
            saved = formset.save(commit=False)
            saved.save()
            messages.success(request, "Submitted! Thank you.")
    else:
        formset = StudentFormSet()
    return render_to_response('add-students.html', 
                                locals(),
                                context_instance=RequestContext(request))

Tags: topyselfformhelper视图表单request