首页 文章

在多个formset中使用带有django的ajax

提问于
浏览
1

我试图在django中使用formset动态添加多个表单 . 我使用ajax发送客户端添加表单的请求 . 我创建了一个add_another按钮来添加formset . 每当用户单击此按钮时,将进行计数增量,并通过ajax将请求发送到服务器(到我的django的视图) . 我的代码如下所示:

views.py

def trial_balance(request):
    formcount = 1
    if request.is_ajax():   
        count = request.POST.get('mycount', formcount)              
        formcount = count
    myformset = formset_factory(DateRangeForm,extra=formcount)
    if request.method == "POST":
        f = myformset()
        if f.is_valid():  
    else:
        f = myformset()
    args['formcount'] = formcount
    args['myformset'] = f
    return render(request, 'trial_balance.html', args)

trial_balance.html

<script>
        $(document).ready(function(){
            $("#add_another").click(function(){
                count = {{ formcount }};
                count++;
                alert(count);       
                $.ajax({
                    url: "/report/trial-balance",
                    data: { 'mycount' : count}
                }).done(function() {
                    alert("DONE");
                    }).fail(function() {
                    alert("FAIL");
                    });
                 });

        });
    </script>
    <div>
    <form action="" method="POST"> {% csrf_token %}
        {{ myformset.as_p }}
        <button id="add_another">add another</button>
        <input  type = "submit"  value = "See Results" id = "daterangeresult">

    </form>

我总是得到失败警报,当从views.py打印formcount的值时,即使单击该按钮,我也总是得到值1 .

1 回答

相关问题