It works now, thanks Diez.  I need to speed up on my python skills I
feel dumb now.

On the other hand, I don't feel right to store the whole cart in the
session, I have it in a table, I don't know how much memory would I
been using if all cart-items where stored in memory.  Although I've
seen a data directory created at root directory, where I guess, all
sessions are stored.

Juan Pablo




On Oct 10, 3:27 am, "Diez B. Roggisch" <[email protected]> wrote:
> Juparave schrieb:
>
>
>
> > I'm having trouble accessing my session variables inside genshi
> > templates.
>
> > Somewhere in code I have this statement.
>
> > session['cartitems'] = len(cart.items)
>
> > That stores in a session variable the number of items inside your
> > cart.
>
> > I call the variable this way inside the template
>
> > <p>You have ${session['cartitems']} in your cart</p>
>
> > And works well, but if a start a new session I get this error.
>
> > UndefinedError: {} has no member named "cartitems"
>
> > so I modified the code to look like this
>
> > <py:if test="hasattr(session, 'cartitems')">
> >   <p>You have ${session['cartitems']} in your cart</p>
> > </py:if>
>
> > and always resolves to false, cause I never get to see how many items
> > I have inside my cart anymore. The same happens with:
>
> > <py:if test="defined(session['cartitems'])">
> >   <p>You have ${session['cartitems']} in your cart</p>
> > </py:if>
>
> > ${value_of(session['cartitems'], default='0'}   always returns '0'
>
> > I don't know how the tests are performed, but some help will be nice.
>
> Session is a dict-like object. You test for *attributes* instead of
> membership. Which of course fails.
>
>  >>> d = {"foo" : "bar"}
>  >>> hasattr(d, "foo")
> False
>  >>> "foo" in d
> True
>
> And I'd not store the length in there anyway. Store the cartitems
> directly, and then compute the len on the fly. Less clutter, and no
> duplication of data when you need the actual items.
>
> Diez
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to