🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
2 messages
2 total messages Started by jm426 Fri, 20 Nov 2009 10:54
queryset ze zmienna w templatetags
#26954
Author: jm426
Date: Fri, 20 Nov 2009 10:54
26 lines
1935 bytes
Witam,

mam problem z przeslaniem zmiennej  z template do queryset w
templatetag.
W template ustawilem:

{% count category %}
gdzie count jest templatetag a category zmienna {{ category }} np
Linux

def count(name):
    row = "\"%s\"" % name
    counter = Entry.objects.filter(categories__title=row).count()
    return counter

register.simple_tag(count)

Problem jest taki ze jesli ustawie {% count "Linux" %} to wszystko
działa, ale ze zmienna nie chce. Powód jest taki że zmiana nie ma
cudzysłowów które są potrzebne w queryset.
Próbowałem je dodać poprzez "\"%s\"" % name ale wówczas wynik jest 0
więc podejrzewam że w zapytaniu ustawia sie "row" a nie "Linux"?
Prosze o pomoc bo jakoś nie mogę tego rozgryść :-/

Pozdrawiam
Jacek
Re: queryset ze zmienna w templatetags
#26955
Author: Michał Żarłok
Date: Fri, 20 Nov 2009 23:54
28 lines
1550 bytes
jm426 wrote:

> def count(name):
>     row = "\"%s\"" % name
>     counter = Entry.objects.filter(categories__title=row).count()
>     return counter
> 
> register.simple_tag(count)
> 
> Problem jest taki ze jesli ustawie {% count "Linux" %} to wszystko
> działa, ale ze zmienna nie chce. Powód jest taki że zmiana nie ma
> cudzysłowów które są potrzebne w queryset.

Nie słyszałem, żeby zmienna musiała być otoczona cudzysłowami przed 
podaniem do query, więc spokojnie powinno działać:

def count(name):
    counter = Entry.objects.filter(categories__title=name).count()
    return counter

register.simple_tag(count)

> 
> Pozdrawiam
> Jacek

Pozdrawiam
Michał
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads