Django хранит изображение пользователя в модели

После быстрого поиска в Google кажется, что в настоящее время это невозможно. Одно предложение , которое я видел, это всплывающее модальное recaptcha, как только пользователь отправляет форму. ondemandcaptcha для Ruby .

23
задан dragoon 18 November 2011 в 22:12
поделиться

3 ответа

Вы хотите использовать опцию «upload_to» в ImageField

#models.py
import os

def get_image_path(instance, filename):
    return os.path.join('photos', str(instance.id), filename)

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    profile_image = ImageField(upload_to=get_image_path, blank=True, null=True)

Это код непосредственно из моего проекта. Загруженное изображение отправляется в /MEDIA_ROOT/photos/<user_id>/filename

. Для того, что вы хотите, просто измените строку «photos» на «users» в def get_image_path

. под FileField подробно

47
ответ дан j_syk 18 November 2011 в 22:12
поделиться

Предлагаю взглянуть на джанго-фотолог. Это приложение django, в котором все управление изображениями, загрузка и хранение уже сделаны!

Подробнее о: http://code.google.com/p/django-photologue/

1
ответ дан juliomalegria 18 November 2011 в 22:12
поделиться

Вам нужно будет создать модель, которая имеет внешний ключ к модели пользователя, где у вас может быть поле изображения для пользователя. Я бы не рекомендовал изменять саму модель User.

0
ответ дан gdlmx 18 November 2011 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: