Thanks Michael, using [linked_item] like that works perfectly.

On Mar 11, 3:29 pm, "Michael O'Brien" <[email protected]> wrote:
> Hi Kev,
>
> I wouldn't worry too much about querying vs. db.get - if you're
> concerned about the performance measure both approaches so you can see
> the difference for your app.
>
> As for combining the templates though, you could just add square
> brackets around the linked_item in SingleItem:
>
> values = {'items': [linked_item]}
>
> cheers
> Michael
>
> On Mar 10, 7:27 am, kd <[email protected]> wrote:
>
> > Hi,
>
> > The homepage of my app displays a list of items with their content
> > (might as well think of it as a blog), and you can also link to
> > individual items. I'd like to use the same set of templates for both
> > cases.
>
> > So my handlers look something like this:
> > -----------------------------------------------------
> > class MainPage(webapp.RequestHandler):
> >     def get(self):
> >         items = db.GqlQuery('SELECT * FROM Item')
> >         values = {'items': items}
> >         self.response.out.write(template.render('main.html', values))
>
> > class SingleItem(webapp.RequestHandler):
> >     def get(self):
> >         key = #determine item key
> >         linked_item = db.get(key)
> >         values = {'linked_item': linked_item}
> >         self.response.out.write(template.render('main.html', values))
> > -----------------------------------------------------
>
> > And here's main.html:
> > -----------------------------------------------------
> > {% if linked_item %}
> >     {{ linked_item.content }}
> > {% else %}
> > {% for item in items %}
> >     {{ item.content }}
> > {% endfor %}
> > {% endif %}
> > -----------------------------------------------------
>
> > This doesn't look like a great solution but I haven't been able to
> > think of (or find) a better one. I've been told to use db.get when
> > possible because it's faster, but the object it returns isn't iterable
> > and so the template becomes awkward.
>
> > Is there a way to put the return from db.get into an iterable object?
> > That way I could simply have "{% for item in items %}
> > {{ item.content }} {% endfor %}" in my template and it would work
> > without errors.
>
> > Should I just use a query instead of db.get? Any other solutions? I've
> > been looking through GAE and Django template docs but haven't found
> > anything yet.
>
> > Any ideas, even a link to the right piece of documentation would be
> > awesome.
>
> > Thanks,
> > Kev
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" 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/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to