Tymczasowe zmienne w template

39 views
Skip to first unread message

Grzesiek

unread,
May 25, 2012, 1:47:31 PM5/25/12
to djan...@googlegroups.com
Witam
W jaki sposób zdefiniować tymczasową zmienną w template? Chodzi o to, że mam listę która jest już posortowana i chcę przy zmianie jednej z właściwości (marka) wyświetlić nazwę marki (takie grupowanie). Niestety nie wiem jak zdefiniować zmienną, którą będę mógł użyć w warunku w pętli. 
Dobrze swoją rolę spełniłoby tutaj regroup https://docs.djangoproject.com/en/dev/ref/templates/builtins/#regroup, ale niestety nie działa poprawnie z django-pagination.
Z góry przepraszam za być może złe podejście do tematu, ale mam przyzwyczajenia z PHP.

Krzysztof Hoffmann

unread,
May 25, 2012, 1:53:51 PM5/25/12
to djan...@googlegroups.com
W widoku przy zapytaniu dodajesz sobie .filter() do QuerySet pobierając zmienną z GET lub POST z request.  

KH

--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o nazwie „django-pl - grupa polskiej społeczności Django”.
Aby wyświetlić tę dyskusję w internecie, odwiedź stronę https://groups.google.com/d/msg/django-pl/-/rV8zPCAUOOEJ.
Aby zamieszczać posty w tej grupie, wyślij e-mail na adres djan...@googlegroups.com.
Aby anulować subskrypcję tej grupy, wyślij e-mail na adres django-pl+...@googlegroups.com.
Aby uzyskać więcej informacji, odwiedź tę grupę pod adresem http://groups.google.com/group/django-pl?hl=pl.

Grzesiek

unread,
May 25, 2012, 2:09:39 PM5/25/12
to djan...@googlegroups.com
Dzięki za odpowiedź ale nie o to mi chodziło do końca, może zapytam inaczej.
Czy istnieje możliwość w template utworzenia zmiennej i przypisania do niej pewnej wartości i późniejsza ewentualna jej modyfikacja?

Mam listę produktów, np:
Marka 1
- produkt 1.1
- produkt 1.2
Marka 2
- produkt 2.1
- produkt 2.2
- produkt 2.3
(...)
Marka 20
- produkt 20.1
(...)
- produkt 20.34

I na poszczególnych podstronach chcę wyświetlić logo producenta a następnie listę produktów (liczba produktów ograniczona przez paginację). Do tego potrzebuję w pętli zapamiętać nazwę producenta i sprawdzić czy jest inna od nazwy z poprzedniej iteracji (siłą rzeczy pierwszy element na pewno spełni ten warunek)


W dniu piątek, 25 maja 2012 19:53:51 UTC+2 użytkownik Krzysztof Hoffmann napisał:
W widoku przy zapytaniu dodajesz sobie .filter() do QuerySet pobierając zmienną z GET lub POST z request.  

KH

W dniu 25 maja 2012 19:47 użytkownik Grzesiek <vertoo...@gmail.com> napisał:
Witam
W jaki sposób zdefiniować tymczasową zmienną w template? Chodzi o to, że mam listę która jest już posortowana i chcę przy zmianie jednej z właściwości (marka) wyświetlić nazwę marki (takie grupowanie). Niestety nie wiem jak zdefiniować zmienną, którą będę mógł użyć w warunku w pętli. 
Dobrze swoją rolę spełniłoby tutaj regroup https://docs.djangoproject.com/en/dev/ref/templates/builtins/#regroup, ale niestety nie działa poprawnie z django-pagination.
Z góry przepraszam za być może złe podejście do tematu, ale mam przyzwyczajenia z PHP.

--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o nazwie „django-pl - grupa polskiej społeczności Django”.
Aby wyświetlić tę dyskusję w internecie, odwiedź stronę https://groups.google.com/d/msg/django-pl/-/rV8zPCAUOOEJ.
Aby zamieszczać posty w tej grupie, wyślij e-mail na adres djan...@googlegroups.com.
Aby anulować subskrypcję tej grupy, wyślij e-mail na adres django-pl+unsubscribe@googlegroups.com.

Kacper Krupa

unread,
May 25, 2012, 2:11:34 PM5/25/12
to djan...@googlegroups.com
Może  https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#with  ?

Aby wyświetlić tę dyskusję w internecie, odwiedź stronę https://groups.google.com/d/msg/django-pl/-/a0SJ-E4uLFwJ.

Aby zamieszczać posty w tej grupie, wyślij e-mail na adres djan...@googlegroups.com.
Aby anulować subskrypcję tej grupy, wyślij e-mail na adres django-pl+...@googlegroups.com.

Rafał Stożek

unread,
May 25, 2012, 2:13:08 PM5/25/12
to djan...@googlegroups.com

Grzesiek

unread,
May 25, 2012, 2:17:22 PM5/25/12
to djan...@googlegroups.com
ifchanged, myślę, że to jest to!
Dziękuję i biorę się do implementacji.
Reply all
Reply to author
Forward
0 new messages