Jquery 如何将行动态添加到表单?(Django)

Jquery 如何将行动态添加到表单?(Django),jquery,html,django,Jquery,Html,Django,我有一个连接到窗体的模型。您可以假设它是一个具有1个属性的非常简单的模型 class Past_Location(models.Model): location = models.CharField(max_length=100) 我想让用户能够通过按钮向表单中添加更多行。因此,我将此模型反映到一个表单集: LocationFormSet = forms.modelformset_factory( Past_Location, fields='__all__',

我有一个连接到窗体的模型。您可以假设它是一个具有1个属性的非常简单的模型

class Past_Location(models.Model):

    location = models.CharField(max_length=100)
我想让用户能够通过按钮向表单中添加更多行。因此,我将此模型反映到一个表单集:

LocationFormSet = forms.modelformset_factory(
    Past_Location,
    fields='__all__',
    extra=1,
    widgets={
        'location': forms.TextInput(
            attrs={
                'class': 'form-control',
                'placeholder': 'Enter Location Name here'
            }
        )
    }
)
下面是添加更多行的按钮创建

            <div class="input-group">
              {{ form.name }}
              <div class="input-group-append">
                <input type="text" name="name" value="">
                <button id="add" type="button" class="btn btn-success add-form-row">+</button>
              </div>
            </div>

我认为“AddFormRow”类足以动态添加更多行,但事实并非如此。因此,我想遵循一些示例并使用jquery添加更多行。然而,由于我的表单是从模型中反映出来的,所以我不知道如何通过jquery访问和添加新行。我想发布一个MVP,但是这个项目太复杂,需要的文件太多。所以我想知道通过jquery与modelForms交互的标准方式是什么?

前端是JS的工作,而不是Django。但是我认为,您可以使用view.py中的变量名从jquery访问。
def form_name_view(request):
    form = forms.NewPatientForm()
    if request.method == 'GET':
        form = NewPatientForm(request.GET or None)
        formset = LocationFormSet(queryset=Past_Location.objects.none())
        print("Hey1")
    elif request.method == 'POST':
        print("Hey2")
        form = NewPatientForm(request.POST)
        formset = LocationFormSet(request.POST)

        if form.is_valid() and formset.is_valid():
            patient_info = form.save()
            for loc in formset:

                location = loc.save(commit=False)
                location.save()
                location.patient.add(patient_info)
                location.save()

            return index(request)
        else:
            print('Error Form Invalid')

    return render(request, 'first_app/form_page.html', {'form':form,'formset':formset})