изображений | Contentful
Введение
Contentful Images API позволяет извлекать и обрабатывать файлы изображений, на которые ссылаются активы.
Представление актива в формате JSON в Contentful выглядит следующим образом:
"поля": { "title": "Playsam Streamliner", "файл": { "fileName": "quwowooybuqbl6ntboz3.jpg", "contentType": "изображение/jpg", "подробности": { "изображение": { "ширина": 600, "высота": 446 }, "размер": 27187 }, "url": "//images.ctfassets.net/yadj1kx9rmg0/wtrHxeu3zEoEce2MokCSi/cf6f68efdcf625fdc060607df0f3baef/quwowooybuqbl6ntboz3.jpg" } }
В этом справочнике описаны параметры, которые можно добавить к URL-адресу, указанному в поле file.url
, для управления и преобразования изображений.
Чтобы загрузить изображения в Contentful, см. здесь.
Примечание: В соответствии с техническими ограничениями размер загружаемого изображения не должен превышать 20 МБ.
Базовая информация API
Ссылка
Извлечение
Изображение
Вы можете получить исходное изображение. URL тот же, что и в поле file.url актива.
Получить изображение
Изменение форматов
Формат изображения
Изображение можно преобразовать в другой формат.
Возможные значения:
jpg
png
паутина
GIF
авиф
По умолчанию используется исходный формат изображения.
Получить изображение
Прогрессивные JPEG
Вы можете запросить изображение JPEG как прогрессивный JPEG.
Прогрессивный формат JPEG сохраняет несколько проходов изображения с постепенно увеличивающейся детализацией. Пока загружается прогрессивное изображение, зритель сначала видит пиксельную версию более низкого качества,
который постепенно улучшается в деталях, пока изображение полностью не загрузится.
Это отображает изображение как можно раньше, чтобы сохранить макет в соответствии с дизайном.
Получить изображение
8-битный PNG
Вы можете запросить изображение PNG как 8-битный PNG.
8-битные изображения PNG поддерживают до 256 цветов и весят меньше, чем стандартный 24-битный эквивалент PNG. 8-битный формат PNG в основном используется для простых изображений, таких как значки или логотипы.
Получить изображение
AVIF
Для изображений, преобразованных в формат AVIF, применяются ограничения размера изображения, указанные в разделе «Технические ограничения».
Кроме того, есть 9Мегапиксельное ограничение на размер исходного изображения.
Ограничение применяется ко всем уровням обслуживания (см. Технические ограничения).
Изменение размера и обрезка
Укажите ширину и высоту
Вы можете изменить размер изображения до нужной ширины и высоты. Максимально допустимое значение составляет
пикселей.
По умолчанию используется исходная ширина и высота изображения.
Получить изображение
Изменение поведения при изменении размера
По умолчанию размеры изображений изменяются в соответствии с указанными размерами.
Вы можете запросить другое поведение, используя соответствует параметру
.
Возможные значения:
pad
: Измените размер изображения до указанных размеров, при необходимости дополнив изображение.fill
: Измените размер изображения до указанных размеров, при необходимости обрезав изображение.масштаб
: Измените размер изображения до указанных размеров, при необходимости изменив исходное соотношение сторон.кадрирование
thumb
: Создать миниатюру из изображения.
pad
поведение использует цвет фона в качестве цвета заполнения.
Получить изображение
Указать область фокусировки
Вы можете выбрать область фокусировки для изменения размера при использовании типа подгонки pad
, заполнения
, кадрирования
или большого пальца
.
Область фокусировки не влияет на тип подгонки по умолчанию или шкалу или
.
Возможные значения:
центр
,верх
,правый
,левый
,нижний
.верхний_правый
,верхний_левый
,нижний_правый
,нижний_левый
.лицо
для самого большого обнаруженного лица.лиц
для всех обнаруженных лиц.
По умолчанию центр
.
Получить изображение
Обрезка закругленных углов и круга/эллипса
Вы можете добавить к изображению закругленные углы или обрезать до круга/эллипса.
Возможные значения:
По умолчанию 0
.
Закругленные углы используют цвет фона в качестве цвета заполнения,
если формат jpg
и поведение изменения размера pad
, то по умолчанию используется белый цвет.
Получить изображение
Обработка изображения
Качество
Вы можете изменить качество изображения, выраженное в процентах от 1
и 100
.
Значение качества игнорируется только для 8-битных PNG.
Получить изображение
Цвет фона
Вы можете выбрать цвет фона при использовании углового радиуса или типа подгонки площадки
. Он принимает значения RGB, такие как
rgb:9090ff
. По умолчанию используется белый цвет для файлов JEPG и прозрачный для файлов PNG и WEBP.
Получить изображение
Удаление
Чтобы удалить изображение, см. документацию CMA по активам.
Как управлять статическими файлами (например, изображениями, JavaScript, CSS) | Документация Django
Веб-сайты обычно должны обслуживать дополнительные файлы, такие как изображения, JavaScript,
или CSS. В Django мы называем эти файлы «статическими файлами». Джанго предоставляет django.contrib.staticfiles
, чтобы помочь вам управлять ими.
На этой странице описывается, как вы можете обслуживать эти статические файлы.
Обслуживание файлов, загруженных пользователем во время разработки
Во время разработки вы можете обслуживать загруженные пользователем медиафайлы из MEDIA_ROOT
с использованием представления django.views.static.serve()
.
Не подходит для производства! Для некоторого общего развертывания стратегии см. в разделе Как развернуть статические файлы.
Например, если ваш MEDIA_URL
media/
, вы можете сделать
это путем добавления следующего фрагмента в ваш ROOT_URLCONF
:из настроек импорта django.conf из django.conf.urls.static импортировать статические URL-шаблоны = [ # ... остальная часть вашего URLconf находится здесь ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Примечание
Эта вспомогательная функция работает только в режиме отладки и только если
данный префикс является локальным (например, media/
), а не URL-адресом (например, http://media.example.com/
).
Тестирование
При выполнении тестов, использующих фактические HTTP-запросы вместо встроенных
клиент тестирования (т.е. при использовании встроенного LiveServerTestCase
) статические активы должны обслуживаться вместе
остальной контент, чтобы тестовая среда воспроизвела реальный как
насколько это возможно, но LiveServerTestCase
имеет только базовые статические
функциональность обслуживания файлов: он не знает о функции поиска staticfiles
приложение и предполагает, что статическое содержимое уже было
собран под STATIC_ROOT
.
Из-за этого staticfiles
отправляет свои собственные django.contrib.staticfiles.testing.StaticLiveServerTestCase
, подкласс
встроенного, который имеет возможность прозрачно обслуживать все активы
во время выполнения этих тестов способом, очень похожим на то, что мы получаем при
время разработки с DEBUG = True
, т.е. без необходимости их собирать
используя сначала collectstatic
.
Развертывание
django.contrib.staticfiles
предоставляет команду удобного управления
для сбора статических файлов в одном каталоге, чтобы вы могли легко их обслуживать.
Установите для параметра
STATIC_ROOT
каталог, из которого вы нравится обслуживать эти файлы, например:STATIC_ROOT = "/var/www/example.com/static/"
Запустите команду управления
collectstatic
:$ python manage.py collectstatic
Это скопирует все файлы из ваших статических папок в
STATIC_ROOT
каталог.