django-image-beskjæring er en Django app for beskjæring opplastede bilder via Djangos admin backend hjelp imgareaselect. & Nbsp; Det holder originalbildet intakt, bare beskjæring når bildet blir vist. Store bilder blir presentert i et lite format, så selv svært store bilder kan lett bli beskåret.
Django-image-beskjæring er perfekt når du trenger bilder med en bestemt størrelse for dine maler, men vil at brukerne eller redaktører til å laste opp bilder av alle dimensjoner. Den presenterer et utvalg med en fast størrelsesforhold slik at brukerne ikke kan ødelegge oppsettet med merkelig store bilder.
Det gir de nødvendige felt, widgets og en (easy_thumbnails) thumbnail prosessor for å vise det beskårede bildet i dine maler. Fungerer også med FeinCMS innholdstyper!
Installasjon
1. Installer django-image-beskjæring ved hjelp av pip. For eksempel:
& Nbsp; pip installere django-image-beskjæring
2. Legg easy_thumbnails og image_cropping til din INSTALLED_APPS. image_cropping er bare nødvendig hvis du bruker Django 1.3 og contrib.staticfiles
3. Juster miniatyr prosessorer for easy_thumbnails i din settings.py:
& Nbsp; fra easy_thumbnails importere mislighold
& Nbsp; THUMBNAIL_PROCESSORS = (
& Nbsp; 'image_cropping.thumbnail_processors.crop_corners',
& Nbsp;) + defaults.PROCESSORS
4. Distribuer de nødvendige statiske filer:
& Nbsp; Hvis du bruker Django 1.3 og contrib.staticfiles de nødvendige statiske filer bør bli plukket opp automatisk. I alle andre tilfeller må du kopiere eller symlink de statiske filer. Avhengig av oppsettet kommandoen skal se likt dette:
& Nbsp; ln -s ~ / .virtualenvs / yourenv / src / django-image-beskjæring / image_cropping / statisk / image_cropping /
Konfigurasjon
For å gjøre en vanlig ImageField croppable, bare slå den inn i en ImageCropField. Deretter legger en ImageRatioField, som vil inneholde grensene for det beskårede bildet. Den ImageRatioField forventer at navnet på den tilknyttede ImageCropField som første argument og størrelsen på det endelige bildet som skal vises som det andre argumentet.
Størrelsen er gått inn som en streng og definerer størrelsesforholdet av utvalget samt minstemål for det endelige bildet. Hvis brukeren prøver å beskjære et bilde som er mindre enn dette minimum, er utvalget låst.
1. Modell felt og alternativer:
& Nbsp; fra image_cropping.fields importere ImageRatioField, ImageCropField
& Nbsp; image = ImageCropField (blank = True, null = True, upload_to = 'uploaded_images')
& Nbsp; # størrelse er "bredde x høyde"
& Nbsp; beskjæring = ImageRatioField ('image', '430x360')
2. Hvis oppsettet er riktig, bør du automatisk se forbedret bilde widget som gir et utvalg område for bildet i admin backend.
3. Eksempel bruk av miniatyr prosessor:
& Nbsp; {% thumbnail yourmodel.image 430x360 boks = yourmodel.cropping avling detalj%}
4. I tillegg kan du definere den maksimale størrelsen på forhåndsvisningen miniatyr i din settings.py:
& Nbsp; # størrelse er "bredde x høyde"
& Nbsp; IMAGE_CROPPING_THUMB_SIZE = (300, 300)
Ekstra
Hvis du trenger det samme bildet i flere formater, ganske enkelt angi en annen ImageRatioField. Dette vil tillate at bildet skal beskjæres to ganger:
fra image_cropping.fields importere ImageRatioField, ImageCropField
image = ImageCropField (blank = True, null = True, upload_to = 'uploaded_images')
# Størrelse er "bredde x høyde"
list_page_cropping = ImageRatioField ('image', '200x100')
detail_page_cropping = ImageRatioField ('image', '430x360')
I dine maler, bruker du bare det tilsvarende forholdet feltet:
{% Thumbnail yourmodel.image 200x100 boks = yourmodel.list_page_cropping avling detalj%}
Krav :
- Python
- Django
Kommentarer ikke funnet