# to use this you need to install ThreadLocals Middleware from # http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser # # then change import path below in <...> from django.db import models from import get_current_user class UserImageField(models.ImageField): def get_internal_type(self): return 'ImageField' def get_directory_name(self): user = get_current_user() upl_to = self.upload_to.replace('%(user)s', '%%(user)s') upl_to = datetime.datetime.now().strftime(upl_to) upl_to = upl_to % {'user':user} return os.path.normpath(force_unicode(upl_to))