Не так давно мне потребовалось задать по умолчанию аватар для нового зарегистрированного пользователя. Для этого после регистрации пользователя подцеплял ему заранее заготовленный для этих целей файл следующим способом:
Рассмотрим на примере:
Пусть файл лежит в папке /media/avatars/default.jpg, тогда path='avatars/default.jpg'.
Тоже самое работает и для обычных FileField
Кстати, о джанге, за 1 вечер написал движок для сайта со смешными котами http://catlol.ru/
path = 'path/to/image' instance.fieldname = instance.fieldname.field.attr_class(instance, instance.fieldname.field, path)
Рассмотрим на примере:
Пусть файл лежит в папке /media/avatars/default.jpg, тогда path='avatars/default.jpg'.
#model:
class UserModel(models.Model):
login = models.CharField(max_length = 255, verbose_name=u'Логин')
password = models.CharField(max_length = 255, verbose_name=u'Пароль')
photo = models.ImageField(upload_to= '/media/',verbose_name=u'Фото',null=True, blank=True)
#Создаем пользователя без фото:
u = UserMode(
login = 'login',
password = 'password'
)
#Указываем путь к файлу:
path='avatars/default.jpg
#Приписываем фото по умолчанию
u.photo = u.photo.field.attr_class(u, u.photo.field, path)
#сохраняем в базу
u.save()
Теперь у нас есть пользователь, с присвоенным по умолчанию аватаром.
Тоже самое работает и для обычных FileField
Кстати, о джанге, за 1 вечер написал движок для сайта со смешными котами http://catlol.ru/
Комментариев нет:
Отправить комментарий