Django-image-pagtatabas ay isang Django app para sa pag-crop ng upload na mga larawan sa pamamagitan ng admin backend Django gamit imgareaselect. & Nbsp; Ito ay nagpapanatili ng orihinal na imahe buo, tanging ang pag-crop kapag ang imahe ay ipinapakita. Ang mga malalaking imahe ay ipinapakita sa isang maliit na format, kaya kahit napaka malaking imahe madali ika-crop.
Django-image-pagtatabas ay perpekto kung kailangan mo ng mga imahe na may partikular na laki para sa iyong template ngunit nais ang iyong mga user o mga editor na mag-upload ng mga larawan sa anumang sukat. Ay nagtatanghal ito ng seleksyon sa isang nakapirming aspect ratio kaya hindi maari puwede ihiwalay ang iyong mga user ang layout na may nang kakatwa-sized na mga larawan.
Nagbibigay ito ng mga kinakailangang field, widget at isang thumbnail (easy_thumbnails) processor para sa pagpapakita ng mga crop na larawan sa iyong template. Gumagana rin sa mga uri ng nilalaman FeinCMS!
Pag-install
1. I-install ang Django-image-pagtatabas gamit ang buto ng bungang-kahoy. Halimbawa:
& Nbsp; buto ng bungang-kahoy-install Django-image-pagtatabas
2. Magdagdag ng easy_thumbnails at image_cropping sa iyong INSTALLED_APPS. image_cropping ay kinakailangan lamang kung ikaw ay gumagamit Django 1.3 at contrib.staticfiles
3. Ayusin ang thumbnail processor para sa easy_thumbnails sa iyong settings.py:
& Nbsp; mula easy_thumbnails-import ang mga default
& Nbsp; THUMBNAIL_PROCESSORS = (
& Nbsp; 'image_cropping.thumbnail_processors.crop_corners',
& Nbsp;) + defaults.PROCESSORS
4. I-deploy ang mga kinakailangang mga static na mga file:
& Nbsp; Kung gumagamit ka ng Django 1.3 at contrib.staticfiles ang mga kinakailangang mga static na mga file ay dapat na kinuha ang awtomatikong. Sa lahat ng iba pang mga kaso na mayroon ka upang kopyahin o symlink ng static na mga file. Depende sa iyong setup ang command ay dapat magmukhang similiar sa:
& Nbsp; ln -s ~ / .virtualenvs / yourenv / src / Django-image-pagtatabas / image_cropping / static / image_cropping /
Configuration
Upang magsagawa ng mga regular na ImageField croppable, i-on ito lamang sa isang ImageCropField. Pagkatapos ay idagdag ang isang ImageRatioField, na maglalaman ng mga hangganan ng crop na larawan. Ang ImageRatioField inaasahan ang pangalan ng kaugnay ImageCropField bilang unang argumento at ang laki ng pangwakas na imahe na ipapakita bilang ikalawang argumento.
Ang laki Lumipas in bilang isang string at tumutukoy sa mga aspect ratio ng pagpili pati na rin ang minimum na sukat para sa panghuling larawan. Kung gumagamit ang sumusubok na i-crop ng isang imahe na mas maliit kaysa sa minimum, ang pagpipilian ay naka-lock.
1. patlang Modelo at mga pagpipilian:
& Nbsp; mula image_cropping.fields-import ImageRatioField, ImageCropField
& Nbsp; ng larawan = ImageCropField (blangko = True, null = True, upload_to = 'uploaded_images')
& Nbsp; # laki ay "lapad x taas"
& Nbsp; pagtatabas = ImageRatioField ('image', '430x360')
2. Kung ang iyong setup ay tama dapat mong awtomatikong makita ang mga pinahusay na widget imahe na nagbibigay ng isang lugar na pagpipilian para sa larawan sa admin backend.
3. Halimbawa ng paggamit ng thumbnail processor:
& Nbsp; {% thumbnail yourmodel.image 430x360 box = yourmodel.cropping detalye crop%}
4. Bilang karagdagan maaari mong tukuyin ang maximum na laki ng thumbnail na preview sa iyong settings.py:
& Nbsp; # laki ay "lapad x taas"
& Nbsp; IMAGE_CROPPING_THUMB_SIZE = (300, 300)
Kasama sa mga extra
Kung kailangan mo ng parehong imahe sa maraming format, tukuyin lamang ng isa pang ImageRatioField. Papayagan nito ang imahe sa ika-crop dalawang beses:
mula image_cropping.fields-import ImageRatioField, ImageCropField
imahe = ImageCropField (blangko = True, null = True, upload_to = 'uploaded_images')
# Laki ay "lapad x taas"
list_page_cropping = ImageRatioField ('image', '200x100')
detail_page_cropping = ImageRatioField ('image', '430x360')
Sa iyong template, gamitin lamang ang kaukulang patlang ratio:
{% Thumbnail yourmodel.image 200x100 box = yourmodel.list_page_cropping detalye crop%}
Mga Kinakailangan :
- Python
- Django
Mga Komento hindi natagpuan