我正在尝试使用以下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实例的方式。问题是,我没有得到任何错误来调试。有线索吗?