add: приложение frontend и настройки filer
This commit is contained in:
@@ -3,3 +3,10 @@ from django.apps import AppConfig
|
||||
|
||||
class FrontendConfig(AppConfig):
|
||||
name = 'frontend'
|
||||
verbose_name = 'Сайт lpon.ru'
|
||||
# Переключаем на стандартный AutoField (до 2 млрд записей)
|
||||
default_auto_field = 'django.db.models.AutoField'
|
||||
|
||||
# def ready(self):
|
||||
## Импортируем сигналы при запуске приложения
|
||||
# import myapp.signals
|
||||
|
||||
@@ -57,12 +57,20 @@ ADMINS = tuple(
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
# Django core
|
||||
'django.contrib.admin',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
# Django-filer и его зависимости
|
||||
# Порядок важен! polymorphic должен быть ДО filer, easy_thumbnails тоже ДО filer
|
||||
'polymorphic',
|
||||
'easy_thumbnails',
|
||||
'filer',
|
||||
# Наше приложение
|
||||
'frontend.apps.FrontendConfig',
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
@@ -149,3 +157,50 @@ PUBLIC_DIR = BASE_DIR.parent.joinpath('public') # Папка `public` нах
|
||||
MEDIA_ROOT = PUBLIC_DIR.joinpath('media')
|
||||
STATICFILES_DIRS = [PUBLIC_DIR.joinpath('static')]
|
||||
STATIC_ROOT = PUBLIC_DIR.joinpath('staticfiles')
|
||||
|
||||
|
||||
# ============================================================================
|
||||
# Django-Filer Configuration (для загрузки файлов через админку)
|
||||
# ============================================================================
|
||||
# django-filer использует easy_thumbnails для управления вариантами изображений
|
||||
# Все файлы хранятся в MEDIA_ROOT/filer_public/ и MEDIA_ROOT/filer_private/
|
||||
|
||||
FILER_ENABLE_PERMISSIONS = DEBUG # В production установить True для ограничения доступа
|
||||
|
||||
# Разрешенные расширения файлов для FilerImageField
|
||||
FILER_WHITELIST_FOR_PATH_ACCESS = (
|
||||
# ПОДУМАТЬ: поддержка '.heic' требует дополнительных пакетов (и разных для прода и дева) + обработчик сигналов
|
||||
# для автоматической конвертации .heic в .webp при загрузке. Пока отключаем, и оставим на будущее
|
||||
'.jpg', '.jpeg', '.png', '.gif', '.svg', '.webp', # Изображения
|
||||
'.doc', '.docx', '.pdf', '.txt', '.xls', '.xlsx', '.csv', # Документы
|
||||
)
|
||||
|
||||
# Максимальный размер загружаемого файла (в байтах): 100 MB
|
||||
FILER_MAX_UPLOAD_SIZE = 100 * 1024 * 1024
|
||||
|
||||
# Tiny Image Specifications для автоматических вариантов изображений
|
||||
THUMBNAIL_ALIASES = {
|
||||
'': {
|
||||
# Для галерей и витрин
|
||||
# Кратные 16х16 картинки для ускорения GPU-рендера браузеров, retina-дисплеев и "копеечная" экономии на сервере
|
||||
'admin_thumbnail': {'size': (64, 64), 'crop': True}, # Для админки
|
||||
'small': {'size': (256, 256), 'crop': True}, # Квадрат 256x256 для миниатюр
|
||||
'medium': {'size': (512, 512), 'crop': True}, # Квадрат 512x512 для просмотра
|
||||
'large': {'size': (1024, 1024), 'crop': 'smart'}, # Большое изображение с умным crop
|
||||
},
|
||||
}
|
||||
|
||||
# Форматы сохранения для thumbnail'ов (миниатюр)
|
||||
THUMBNAIL_PRESERVE_FORMAT = False # Не сохранять оригинальный формат для thumbnails
|
||||
THUMBNAIL_FORMAT = 'WEBP' # Конвертировать все thumbnails в WebP
|
||||
THUMBNAIL_WEBP_QUALITY = 80 # Качество WebP (достаточно 75-85 для thumbnails)
|
||||
|
||||
# Интерпретатор для обработки изображений
|
||||
THUMBNAIL_ENGINE = 'easy_thumbnails.engines.pil_engine.PilEngine'
|
||||
|
||||
# Качество JPEG при сжатии (0-100, по умолчанию 85)
|
||||
# THUMBNAIL_QUALITY = 85
|
||||
|
||||
# Источник кеша для миниатюр
|
||||
THUMBNAIL_DEBUG = DEBUG # Показывать ошибки генерирования миниатюр в debug режиме
|
||||
|
||||
|
||||
Reference in New Issue
Block a user