Задать вопрос
@mkone112
Начинающий питонист.

Как выбрать случайное изображение профиля при регистрации?

Пытаюсь сделать так, чтобы при регистрации пользователя - выбиралось случайное фото для его профиля. Я набросал свой
велосипед:
import random

from django.db import models
from django.conf import settings


class Profile(models.Model):
    
    @staticmethod
    def _get_random_photo():
        photos_dir = (
                settings.STATIC_ROOT / 'images' / 'default_profile_photos'
        )
        photo_paths = photos_dir.rglob('avatar*.png')
        return random.choice(photo_paths)

    user = models.OneToOneField(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE,
    )

    date_of_birth = models.DateField(blank=True, null=True)

    photo = models.ImageField(
        upload_to='users/%Y/%m/%d',
        blank=True,
        default=_get_random_photo,
    )

    def __str__(self):
        return f'Profile for user {self.user.username}'

Но выглядит он хреново, например в нем нарушено соглашение Django по размещению кастомных методов в конце модели. Подскажите как правильно/принято такое реализовывать.
  • Вопрос задан
  • 85 просмотров
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Решения вопроса 1
@mkone112 Автор вопроса
Начинающий питонист.
Ответ в другом вопросе
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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