Django和Ajax,提交表单不会创建新对象

时间:2017-08-27 22:31:53

标签: javascript jquery python ajax django

我正在尝试使用以下ajax创建一个新的'Sounds'对象:

var data = new FormData();
            data.append('title', 'test_1');
            data.append('numobj', '{{instance.numobj}}');
            data.append('sound', blob);

$.ajax({
                url: "{% url 'posts:post_create' %}",
                type: 'POST',
                data: data,   
                cache: false,
                processData: false,
                contentType: false,
                success: function(data) {
                    alert('success');
                }
            });

表格中有3个字段:

class PostForm(forms.ModelForm):

class Meta:
        model = Sounds

        fields = [
        'title',
        'numobj',
        'sound',
        ]

以下是提交表单的观点:

def post_create(request):
    form= PostForm(request.POST or None, request.FILES or None)


    if form.is_valid():

        instance = form.save(commit=False)
        instance.save()
        return HttpResponseRedirect('/')

    context= {
        'form': form,
    }
    return render(request, 'post_form.html',context,) 

每当我提交ajax时,它都会给我成功警报,但不会创建新对象。我想这可能是由于字段附加到FormData实例的方式。问题是,我没有得到任何错误来调试。有线索吗?

0 个答案:

没有答案