Python Django将图像保存为模型字段,可在/admin上工作,但不能在自定义上载页面上工作

Python Django将图像保存为模型字段,可在/admin上工作,但不能在自定义上载页面上工作,python,django,python-2.7,model-view-controller,file-upload,Python,Django,Python 2.7,Model View Controller,File Upload,我不想使用Django admin,而是想在我的网站上上传自己的图片,网址是127.0.0.1/upload 现在,当我通过管理员上传一张图片时,效果很好。但是当我通过自己的图片上传时,它没有上传(也没有上传到正确的路径) 模板 <form action="{% url 'app:publish' %}" method="post"> {% csrf_token %} <input type="file" name="image_upload" accept

我不想使用Django admin,而是想在我的网站上上传自己的图片,网址是
127.0.0.1/upload

现在,当我通过管理员上传一张图片时,效果很好。但是当我通过自己的图片上传时,它没有上传(也没有上传到正确的路径)

模板

<form action="{% url 'app:publish' %}" method="post">
     {% csrf_token %}
     <input type="file" name="image_upload" accept="image/*" />
     <input type="submit" />
</form>
型号.py

def publish(request):
    image = request.POST.get('image_upload', '')
    photo = Photo(image=image)
    photo.save()
    return HttpResponseRedirect('/')
def generate_path(self, filename):
    url = "%s/%s" % (self.college.name, filename)
    return url

class Photo(models.Model):
    image = models.ImageField(upload_to=generate_path, default="buildingimages/default.png")
这是我通常对基于文本的字段所做的,但我假设文件的工作方式不同,这就是为什么这不起作用的原因

在我尝试上传后,该对象显示在我的管理员中,但图像本身似乎没有上传,也没有进入正确的目录

所以当我通过管理员上传时,generate_路径完全正常,但通过我自己的发布视图,它似乎上传到/media/然后它说图像不存在


知道我做错了什么吗

上传的文件存储在
request.files
中,而不是
request.POST

中,那么它会是request.files.get吗?我试过了,但现在图像根本没有上传。是的,您的表单类型是
多部分/formdata
?您有很多关于如何使用django上传图像的教程,例如,可能的重复