django-Bild-Beschneiden ist ein Django-Applikation für das Zuschneiden hochgeladenen Bilder über Djangos Admin-Backend mit imgareaselect & nbsp;. Es hält das Originalbild intakt, nur beschneiden, wenn das Bild angezeigt wird. Große Bilder werden in einem kleinen Format präsentiert, so dass selbst sehr große Bilder können einfach abgeschnitten.
django-Bild-Beschneiden ist perfekt, wenn Sie Bilder mit einer bestimmten Größe für Ihre Vorlagen benötigen, wollen aber Ihre Benutzer oder Redakteure von Bildern in jeder Dimension zu laden. Es wird eine Auswahl mit einem festen Seitenverhältnis so Ihre Benutzer können das Layout mit seltsam große Bilder nicht brechen.
Es bietet die erforderlichen Felder aus, Widgets und eine (easy_thumbnails) thumbnail Prozessor zur Anzeige der beschnittenen Bild in Ihren Vorlagen. Funktioniert auch mit FeinCMS Inhaltstypen!
Installation
1. Installieren Sie django-Bild-Beschneiden mit Pip. Zum Beispiel:
& Nbsp; pip installieren django-Bild-Beschneiden
2. easy_thumbnails und image_cropping in Ihre INSTALLED_APPS. image_cropping ist nur erforderlich, wenn Sie mit Django 1.3 und contrib.staticfiles werden
3. Stellen Sie die Thumbnail-Prozessoren für easy_thumbnails in Ihrem settings.py:
& Nbsp; von easy_thumbnails importieren Standard
& Nbsp; THUMBNAIL_PROCESSORS = (
& Nbsp; "image_cropping.thumbnail_processors.crop_corners ',
& Nbsp;) + defaults.PROCESSORS
4. Stellen Sie die erforderlichen statischen Dateien:
& Nbsp; Wenn Sie mit Django 1.3 und contrib.staticfiles die notwendigen statischen Dateien sollten automatisch aufgenommen werden. In allen anderen Fällen müssen Sie kopieren oder Symlink die statischen Dateien. Je nach Einstellung der Befehl ähnlich wie folgt aussehen:
& Nbsp; ln -s ~ / .virtualenvs / yourenv / src / django-Bild-Beschneiden / image_cropping / static / image_cropping /
Konfiguration
Um eine regelmäßige Imagefield croppable machen, schalten Sie ihn einfach in eine ImageCropField. Dann fügen Sie eine ImageRatioField, die die Grenzen des beschnittenen Bildes enthält. Die ImageRatioField erwartet die Namen der zugehörigen ImageCropField als erstes Argument und der Größe des endgültigen Bildes als das zweite Argument, angezeigt.
Die Größe wird in als String übergeben und definiert das Seitenverhältnis der Auswahl als auch die Mindestgröße für das endgültige Bild. Wenn der Benutzer versucht, ein Bild, das kleiner als dieser Minimal Ernte wird die Auswahl gesperrt ist.
1. Modell Felder und Optionen:
& Nbsp; von image_cropping.fields importieren ImageRatioField, ImageCropField
& Nbsp; image = ImageCropField (leer = True, null = True, upload_to = 'uploaded_images')
& Nbsp; # Größe "Breite x Höhe"
& Nbsp; Zuschneiden = ImageRatioField ("Bild", "430x360")
2. Wenn Sie Ihre Einstellungen korrekt sind, sollten Sie automatisch sehen, das verbesserte Bild-Widget, das einen Auswahlbereich für das Bild im Admin-Backend bietet.
3. Beispiel der Verwendung der Miniaturansicht-Prozessor:
& Nbsp; {% Thumbnail yourmodel.image 430x360 box = yourmodel.cropping getreide%}
4. Zusätzlich können Sie die maximale Größe der Miniaturvorschau in Ihrem settings.py definieren:
& Nbsp; # Größe "Breite x Höhe"
& Nbsp; IMAGE_CROPPING_THUMB_SIZE = (300, 300)
Extras
Wenn Sie das gleiche Bild in verschiedenen Formaten benötigen, geben Sie einfach eine andere ImageRatioField. Dies ermöglicht es dem Bild, um zweimal abgeschnitten:
von image_cropping.fields importieren ImageRatioField, ImageCropField
image = ImageCropField (leer = True, null = True, upload_to = 'uploaded_images')
# Größe "Breite x Höhe"
list_page_cropping = ImageRatioField ("Bild", "200x100")
detail_page_cropping = ImageRatioField ("Bild", "430x360")
In Vorlagen, verwenden Sie einfach das entsprechende Verhältnis Feld:
{% Thumbnail yourmodel.image 200x100 box = yourmodel.list_page_cropping getreide%}
Anforderungen :
- Python
- Django
Kommentare nicht gefunden