从Django中的models.imagefield访问上载的图像文件

时间:2018-12-13 07:56:09

标签: python django python-3.x django-models

我想在从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变量

访问图像

1 个答案:

答案 0 :(得分:0)

您无法在模型定义中执行此类操作,我也无法理解您为何尝试执行此操作。直到用户上载一个实际图像,该图像才存在,在定义时间 调用this.httpService.get('./assets/pageconfig.json').subscribe( data => { this.arrAdress = data; }, (err: HttpErrorResponse) => { console.log(err.message); } ); sendData(icon){ const matched = this.arrAdress.icons.filter(iconObj => iconObj.alias === icon); console.log(matched); } **Template:** <div *ngFor="let adress of arrAdress?.pages;" (click)="sendData(adress.icon)"> <span>{{adress.displayname}}</span> </div> 毫无意义。

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