Función genérica para usar como upload_to

Posted on Sat 11 October 2014 in Programación

Los FileField en django necesitan ana función upload_to que determine donde se subirá el fichero. Yo suelo tener en utils.py una función genérica que los deja en una subcarpeta con el nombre del modelo.

import os

def generic_upload_to(instance, filename):
    """
    Generic `upload_to` function for models.FileField and models.ImageField
    which uploads files to `<app_label>/<model_name>/<file_name>`.
    """
    return os.path.join(instance._meta.app_label, instance._meta.model_name, filename)

El uso el previsible:

featured_image = ImageField(upload_to=generic_upload_to,
                            verbose_name='Imagen Destacada (770x490)',
                            max_length=250, blank=True, null=True)