Files
2018-lpon-site/lpon_site/frontend/apps.py

90 lines
4.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from django.apps import AppConfig
from lpon_site.settings import DEBUG
class FrontendConfig(AppConfig):
name = 'frontend'
verbose_name = 'Сайт lpon.ru'
# Переключаем на стандартный AutoField (до 2 млрд записей)
default_auto_field = 'django.db.models.AutoField'
def ready(self):
"""
Вызывается при инициализации приложения.
Настраиваем админ-сайт (заголовки и т.п.)
"""
from django.contrib import admin
admin.site.site_header = 'Управление LPON'
admin.site.site_title = 'LPON Administrator'
admin.site.index_title = 'Добро пожаловать в LPON'
## Если надо, импортируем сигналы при запуске приложения
# import myapp.signals
# Добавляем кастомный конфиг для filer, чтобы переименовать verbose_name и добавить конфиги
class CustomFilerConfig(AppConfig):
name = 'filer'
verbose_name = 'Медиафайлы' # Переименование вкладки в админке
# ========================================================================
# Конфигурация Django-Filer (для загрузки файлов через админку)
# ========================================================================
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
# MIME-типы разрешенные для загрузки
FILER_MIME_TYPE_WHITELIST = (
'image/jpeg',
'image/png',
'image/gif',
'image/svg+xml',
'image/webp',
'application/pdf',
'application/msword', # .doc
'application/vnd.openxmlformats-officedocument.wordprocessingml.document', # .docx
'text/plain',
'application/vnd.ms-excel', # .xls
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', # .xlsx
'text/csv',
)
# 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 режиме
# Валидаторы файлов (пусто = без ограничений)
FILE_VALIDATORS = {}