django-kadrowanie obrazu jest aplikacja Django ucięcie wysłane zdjęcia poprzez Django administracyjnego zaplecza za pomocą imgareaselect. & Nbsp; Utrzymuje oryginalny obraz nienaruszona, tylko kadrowanie, gdy jest wyświetlany obraz. Duże obrazy prezentowane są w małym formacie, więc nawet bardzo duże obrazy mogą być łatwo przycięte.
django-image-kadrowanie jest idealny, gdy potrzebujesz obrazy o określonej wielkości na szablonach, ale chcą użytkownikom lub redaktorów przesyłać obrazy w dowolnym wymiarze. To przedstawia wybór ze stałym współczynnikiem kształtu dzięki czemu użytkownicy nie mogą złamać układ z dziwnie formacie.
Dostarcza niezbędnych pól, widżety i procesor (easy_thumbnails) miniatury wyświetlania przyciętego obrazu w szablonach. Współpracuje również z typów zawartości FeinCMS!
instalacji
1. Zainstaluj django-image-kadrowanie za pomocą pip. Na przykład:
& Nbsp; pip zainstalować django-przycinanie obrazu
2. Dodaj easy_thumbnails i image_cropping do INSTALLED_APPS. image_cropping jest wymagane tylko w przypadku korzystania z Django 1.3 i contrib.staticfiles
3. Ustaw Miniatura easy_thumbnails procesorów w swojej settings.py:
& Nbsp; z easy_thumbnails zaimportować ustawienia domyślne
& Nbsp; THUMBNAIL_PROCESSORS = (
& Nbsp; "image_cropping.thumbnail_processors.crop_corners",
& Nbsp;) + defaults.PROCESSORS
4. Wdrożenie niezbędnych statycznych plików:
& Nbsp; Jeśli używasz Django 1.3 i contrib.staticfiles niezbędne pliki statyczne powinny być odbierane automatycznie. We wszystkich innych przypadkach należy skopiować lub podlinkowujemy pliki statyczne. W zależności od konfiguracji poleceń powinien wyglądać podobny do tego:
& Nbsp; ln -s ~ / .virtualenvs / yourenv / src / django-image-kadrowanie / image_cropping / statyczne / image_cropping /
Konfiguracja
W celu zapewnienia regularnego ImageField croppable, wystarczy obrócić go w ImageCropField. Następnie dodać ImageRatioField, która będzie zawierać granice przyciętego obrazu. ImageRatioField oczekuje Nazwa skojarzonej ImageCropField jak pierwszy argument i rozmiaru końcowego obrazu, który będzie wyświetlany jako drugi argument.
Rozmiar jest przekazywana w postaci ciągu znaków i określa proporcje wyboru, jak również minimalny rozmiar obrazu końcowego. Jeśli użytkownik próbuje przyciąć zdjęcie, które jest mniejsze od tego minimum, wybór jest zablokowana.
1. Pola modelu i wyposażenia:
& Nbsp; z image_cropping.fields importować ImageRatioField, ImageCropField
& Nbsp; image = ImageCropField (blank = True, null = True, upload_to "uploaded_images" =)
& Nbsp; # rozmiar jest "szerokość x wysokość"
& Nbsp; kadrowanie = ImageRatioField ("obraz", "430x360")
2. Jeśli instalacja jest prawidłowa należy automatycznie zobaczyć większą widget obrazu, która zapewnia obszar zaznaczenia dla obrazu w zaplecza administracyjnego.
3. Przykład użycia procesora miniatur:
& Nbsp; {% miniatur yourmodel.image 430x360 box = yourmodel.cropping szczegółowo upraw%}
4. Dodatkowo można określić maksymalny rozmiar miniatury podglądu w Twojej settings.py:
& Nbsp; # rozmiar jest "szerokość x wysokość"
& Nbsp; IMAGE_CROPPING_THUMB_SIZE = (300, 300)
Dodatki
Jeśli potrzebujesz tego samego obrazu w różnych formatach, wystarczy podać inny ImageRatioField. Pozwoli to na zdjęcie, aby zostać przycięte dwa razy:
z image_cropping.fields importować ImageRatioField, ImageCropField
image = ImageCropField (puste = True, null = True, upload_to = 'uploaded_images ")
# Rozmiar jest "szerokość x wysokość"
list_page_cropping = ImageRatioField ("obraz", "200x100")
detail_page_cropping = ImageRatioField ("obraz", "430x360")
W szablonach, wystarczy użyć odpowiedniego pola proporcji:
{% Miniatur yourmodel.image 200x100 box = yourmodel.list_page_cropping szczegółowo upraw%}
Wymagania :
- Python
- Django
Komentarze nie znaleziono