user_logo 文件实际上是一个 img 数据,
如何将此 img 保存到 django 模型?
模型.py
class Image(models.Model):
image = models.ImageField(upload_to='image_uploads')
created = models.DateTimeField(auto_now_add=True)
表格.py
class ImageForm(ModelForm):
class Meta:
model = Commercial
视图.py
def add_image(request):
if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return direct_to_template(request, 'page.html', {
'form': ImageForm()
})
page.html
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{form.image}}
</form>
通常,您不想将图像存储在数据库中。Django 的FileField和ImageField从磁盘加载数据。
编辑:刚刚注意到标题与发布数据有关。查看有关文件上传的文章
看起来'user_logo'
是一个JPEG文件编码base16/hex
(除了前缀'<'
)
>>> 'ffd8ffe000104a4649460001010100'.decode('hex')
'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00'
您可以使用ContentFile来存储此类数据
obj.image.save(filename, ContentFile(the_decoded_content))
另外,最好问一下实现客户端的家伙他是否可以发布multipart/form-data
,如果可以的话,user_logo
可以很容易地通过request.FILES
......和更少的请求正文