<p>我认为您错过了<code>enctype="multipart/form-data"</code>,请尝试更改:</p>
<pre><code><form method="POST" action="/myapp/updateimage/{{ singleimagedata.id }}">
</code></pre>
<p>进入</p>
<pre><code><form method="POST" enctype="multipart/form-data" action="{% url 'updateimage' id=singleimagedata.id %}">
</code></pre>
<blockquote>
<p>Don't miss also to add the <code>image_color</code> field to your <code>html</code> input. <br/>
Because, in your case the <code>image_color</code> field model is designed as <strong><em>required field</em></strong>.</p>
</blockquote>
<p><strong>删除&;从目录更新旧图像文件</强></p>
<pre><code>import os
from django.conf import settings
# your imported module...
def updateimage(request, id): #this function is called when update data
old_image = ImageModel.objects.get(id=id)
form = ImageForm(request.POST, request.FILES, instance=old_image)
if form.is_valid():
# deleting old uploaded image.
image_path = old_image.image_document.path
if os.path.exists(image_path):
os.remove(image_path)
# the `form.save` will also update your newest image & path.
form.save()
return redirect("/myapp/productlist")
else:
context = {'singleimagedata': old_image, 'form': form}
return render(request, 'demo/editproduct.html', context)
</code></pre>