首页 > 解决方案 > 从 Django 中的 models.imagefield 访问上传的图像文件

问题描述

我想在从上传时保存图像之前对其进行处理,models.ImageField(upload_to=None)但我无法找到访问图像的方法。我的代码在下面

from django.db import models

class Document(models.Model):
   document_name = models.CharField(max_length=200)
   img = models.ImageField(upload_to=None)
   some_func_value = Process_image(img)

在上面的代码中,Process_image()函数期望在其参数中处理一个数组形式的图像文件,numpy但是当我传递 img 时Process_image(img),它给我一个错误,即 img 不是numpy数组。我想找到一种方法来访问图像以在保存之前对其进行处理。

models.ImageField()换句话说,上面代码中 img 变量的类型是什么?无论如何可以从 img 变量访问图像

标签: pythondjangopython-3.xdjango-models

解决方案


你不能在模型定义中做这种事情,我看不出你为什么要这样做。在用户上传之前,实际图像不存在,Process_image定义时调用是没有意义的。

您应该在处理实际上传的表单或视图中执行此操作。


推荐阅读