Model + wywołanie funckji dla danego pola.

0 views
Skip to first unread message

Darek

unread,
Mar 12, 2008, 8:58:00 AM3/12/08
to Grupa polskiej społeczności Django
Witam,

W panelu adm. w formularzu mam pole ImageField. Chciałbym aby dodawane
grafiki przeszły przez jakąś moją funkcję typu resize_image() która
odpowiednio je zmodyfikuje. Czy można ten problem załatwić z poziomu
modelu, czy należy przeciążać widok odpowiedzialny za to w Panelu
Adm. ?

Z góry dziękuję.

Dominik Szopa

unread,
Mar 12, 2008, 6:24:36 PM3/12/08
to Grupa polskiej społeczności Django
Możesz użyć nadpisać metode save modelu i tam to zalatwic, albo użyć
gotowego pola typu AutoImageField, tutaj masz kod:
http://code.djangoproject.com/wiki/CustomUploadAndFilters

Potem robisz cos takiego:

class Person(models.Model):
name = models.CharField(max_length=20)
photo = AutoImageField(upload_to = 'images', max_width=200,
max_height=200)

w ten sposób uploadowany obrazek zostanie automatycznie pomniejszony
do rozmiarow 200x200.

Darek

unread,
Mar 13, 2008, 3:49:27 PM3/13/08
to Grupa polskiej społeczności Django
"it doesn't work with Django development version."

mimo wszystko dzięki... popróbuję

Dominik Szopa

unread,
Mar 14, 2008, 7:41:16 AM3/14/08
to Grupa polskiej społeczności Django


On 13 Mar, 20:49, Darek <darek.ormi...@gmail.com> wrote:
> "it doesn't work with Django development version."
>
> mimo wszystko dzięki... popróbuję

Ten tekst sie tyczy chyba filtrów które są opisane na dole tej strony.
Kiedyś korzystałem z pola dostępnego tutaj
http://trac.studioquattro.biz/djangoutils/wiki/Thumbnail.

Możesz też nadpisać metodę save modelu i tam stworzyć miniaturkę, jak
wolisz, jednak rozwiązanie z gotowym polem wydaje mi sie bardziej
eleganckie pownieważ działa na każdym modelu w którym masz obrazki,
nie musisz wtedy do każdego pola nadpisywać metody save modelu i
tworzyć recznie miniaturki.

Tu masz tez przykłady pól typu obrazek z miniaturka: http://www.verdjn.com/
Reply all
Reply to author
Forward
0 new messages