<p>下面是一个更完整的解决方案,它不使用任何基于类的视图,将此页面上的其他答案和评论汇集在一起。</p>
<p>我让它作为对jquery ajax的回复。</p>
<pre><code>def save_product(request):
if request.method == "POST":
# first get the model pk we are looking for
postpk = request.POST.get('pk', None)
# get the model from the db
model, created = Product.objects.get_or_create(pk = postpk)
# create the from based on the model, but with the
# request data overriding the model data
form = ProductForm(request.POST, instance = model)
# save if valid
if form.is_valid():
form.save()
return HttpResponse("saved")
else:
# will go to the the ajax error: data.responseText
return HttpResponseNotFound("%s" % (form.errors))
else:
return HttpResponseNotFound('eh? this was not a Post?')
</code></pre>