我需要根据模型的属性值保存的图像的名称。你知道吗
例如,如果一个字段被称为NameEvent
,我有一个值Django-Event
,那么图像的文件名被保存为Django-event.jpg
。你知道吗
from django.db import models
from uuid import uuid4
from datetime import date
import os
class Post(models.Model):
def _generar_ruta_imagen(instance, filename):
# El primer paso es extraer la extension de la imagen del
# archivo original
extension = os.path.splitext(filename)[1][1:]
# Generamos la ruta relativa a MEDIA_ROOT donde almacenar
# el archivo, usando la fecha actual (año/mes)
ruta = os.path.join('Imagenes', date.today().strftime("%Y/%m"))
# Generamos el nombre del archivo con un identificador
# aleatorio, y la extension del archivo original.
nombre_archivo = '{}.{}'.format(uuid4().hex, extension)
# Devolvermos la ruta completa
return os.path.join(ruta, nombre_archivo)
imagen = models.ImageField(upload_to=_generar_ruta_imagen)
text = models.TextField(max_lenght=1000)
ImageField
有一个方法get_filename
,您需要这样调用它:其中
filename
与您在字段实例化中提供的名称相同保存对象后,也可以执行以下操作:
相关问题 更多 >
编程相关推荐