This commit is contained in:
2024-05-14 11:39:33 +03:00
commit 2762ac794a
26 changed files with 1506 additions and 0 deletions

38
BACKEND/MEDIA.md Normal file
View File

@@ -0,0 +1,38 @@
## Модель статьи
1. **TimeStampedModel:**
- Абстрактная базовая модель для добавления автора, полей времени создания и изменения к другим моделям.
- `created_at`: Дата и время создания объекта.
- `updated_at`: Дата и время последнего обновления объекта.
- `author`: Автор объекта.
- `file_name`: Имя файла объекта.
- Метод `save`: Переопределен для автоматической установки даты создания и обновления.
- Метод `generate_file_url`: Генерирует URL файла.
2. **Images:**
- Модель файлов изображений.
- `file`: Поле для загрузки изображения.
- `history`: Поле для хранения истории изменений.
- Метод `save`: Дополнительно устанавливает имя файла с префиксом "Image_".
- Метод `clean`: Проверяет допустимость формата изображения.
3. **Videos:**
- Модель файлов видео.
- `file`: Поле для загрузки видео.
- `history`: Поле для хранения истории изменений.
- Метод `save`: Дополнительно устанавливает имя файла с префиксом "Video_".
4. **OtherFiles:**
- Модель файлов всех типов документов.
- `file`: Поле для загрузки документа.
- `history`: Поле для хранения истории изменений.
- Метод `save`: Дополнительно устанавливает имя файла с префиксом "Document_".
## Валидатор данных
1. **validate_max_file_size:**
- Проверяет, что размер загружаемого файла не превышает максимально допустимый размер.
- `value`: Параметр, представляющий объект файла.
- `max_size`: Максимальный размер файла в байтах (здесь установлен на 200 МБ).
- Если размер файла больше `max_size`, вызывается исключение `ValidationError` с соответствующим сообщением об ошибке.
## Сериализатор
## Маршрутизатор
## Контроллер