The reason for that output is that page is a list, not a single object. If you want a specific page, use Page.objects.get instead of Page.objects.filter.
Brett On 10/11/11 11:30 AM, "Laura C." <code...@gmail.com> wrote: >that at least gave me an output, but the output is: [<Page: test2>] > >I have a potential to need 3 attributes from each object in each >template, so the mapping may not be what I need. If I pass in a >context object, I thought that I should have handles for >object.attribute ? Or maybe I need to map the dict before passing it? > > > >On Tue, Oct 11, 2011 at 11:57 AM, Brett Epps <brett.e...@quest.com> wrote: >> >> Try it with {'page': page} as your extra_context. The keys in a context >> dict should always be strings. >> >> Brett >> >> >> On 10/11/11 8:29 AM, "xenses" <code...@gmail.com> wrote: >> >> >I thank you for your help and apologize for my naivete, however I >> >still am not seeing that tag populate in the template. Here is my view >> >function in its entirety: >> > >> > def test(request, testn): >> > try: >> > testn = str(testn) >> > page = Page.objects.filter(name = "test%s" % testn) >> > return direct_to_template(request, template="test%s.html" % >> >testn, extra_context={page:page}) >> > except ValueError: >> > raise Http404() >> > >> >I am using {page:page} because anything else returns errors in debug >> >mode. >> >in my template I have : >> > >> >{{ page.leaderboard }} >> > >> >the page object looks like this: >> > >> >class Page(models.Model): >> > name = models.CharField(max_length=25, verbose_name='Page Name') >> > leaderboard = models.TextField(max_length=500, null=True, >> >blank=True, verbo\ >> >se_name='Leaderboard Tag') >> > rectangle = models.TextField(max_length=500, null=True, >> >blank=True, verbose\ >> >_name='300x250 Tag') >> > rectangle2 = models.TextField(max_length=500, null=True, >> >blank=True, verbos\ >> >e_name='Additional 300x250') >> > >> > def __unicode__(self): >> > return self.name >> > >> >I know that once I figure this out, I'm going to feel rather daft and >> >I appreciate all the help you've given me! Thanks so much! >> > >> > >> >On Oct 10, 2:56 pm, Brett Epps <brett.e...@quest.com> wrote: >> >> The direct_to_template() function can take an extra_context keyword >> >> argument (a dict). So: >> >> >> >> direct_to_template(request, template='blah.html', >>extra_context={'foo': >> >> bar}) >> >> >> >> Would let you use {{ foo }} in a template to output the value of the >> >> variable bar. >> >> >> >> By the way, as a replacement for direct_to_template, there's >> >> django.shortcuts.render [1], which is a little more concise. >>(Usually, >> >> you use direct_to_template in urls.py, since it is a full-fledged >> >>generic >> >> view function.) >> >> >> >> >> >>>>1.https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#django.s >>>>.. >> >>. >> >> ts.render >> >> >> >> Hope that helps, >> >> >> >> Brett >> >> >> >> On 10/10/11 12:21 PM, "xenses" <code...@gmail.com> wrote: >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >That is exactly what I want to do, I can't seem to understand >>exactly >> >> >how to implement that and have it populate in the template. Do I >>just >> >> >define the variable in the views and then in the template use >> >> >{{ variable_name }} where I need it? Because I tried that first and >>it >> >> >didn't work. So, maybe I'm just not sure what it is I'm doing >> >> >exactly ;) >> >> >> >> >Thanks for any help! >> >> >> >> >On Oct 10, 1:09 pm, Brett Epps <brett.e...@quest.com> wrote: >> >> >> I may be misunderstanding your question, but it sounds like you >>need >> >>to >> >> >> use Page.objects.get or Page.objects.filter (in your view >>function) >> >>to >> >> >> look up the particular objects that you want to send to the >>template. >> >> >> >> >> Brett >> >> >> >> >> On 10/10/11 9:53 AM, "xenses" <code...@gmail.com> wrote: >> >> >> >> >> >This may seem like a very simple question and I have just missed >>the >> >> >> >answer in the piles of documentation and tutorials that I've read >> >>over >> >> >> >the past two days. I'm new to Django and trying to implement an >> >> >> >internal site at work, and I'm the only Python/Django person we >> >>have, >> >> >> >so this is all on me. >> >> >> >> >> >What I am doing is this: I have a set of .html files, templates, >> >>which >> >> >> >are named testn.html (i.e. test1.html, test2.html, etc) Each >> >>template >> >> >> >extends base.html, but they each have at least 2 divs that I >>need to >> >> >> >populate with HTML that is entered in the admin interface and >>stored >> >> >> >in the Page model. What I need to do is this: >> >> >> >> >> >from the url parse what test is being requested: >> >> >> >> >> >url(r'^test(\d{1})/$', test), >> >> >> >> >> >cal the test view: >> >> >> >> >> >def test(request, testn): >> >> >> > try: >> >> >> > testn = str(testn) >> >> >> > return direct_to_template(request, >>template="test%s.html" % >> >> >> >testn) >> >> >> > except ValueError: >> >> >> > raise Http404() >> >> >> >> >> >And then return the template, but with the correct object >>attached >> >>to >> >> >> >it, filtered by name. I can't find a way to do this, all that I >>can >> >> >> >find are ways that make me grab all the objects (and where do I >>do >> >> >> >this? In models.py or views.py? There are conflicting thoughts on >> >> >> >this). I really just need to grab the one object, and if it has >>the >> >> >> >fields I need, to populate the template with them. Is there an >>easy >> >> >> >way to do this that won't require me to loop over all objects? >> >> >> >> >> >Thank you so much for any help or insight! >> >> >> >--Laura C. >> >> >> >> >> >-- >> >> >> >You received this message because you are subscribed to the >>Google >> >> >>Groups >> >> >> >"Django users" group. >> >> >> >To post to this group, send email to >>django-users@googlegroups.com. >> >> >> >To unsubscribe from this group, send email to >> >> >> >django-users+unsubscr...@googlegroups.com. >> >> >> >For more options, visit this group at >> >> >> >http://groups.google.com/group/django-users?hl=en. >> >> >> >> >-- >> >> >You received this message because you are subscribed to the Google >> >>Groups >> >> >"Django users" group. >> >> >To post to this group, send email to django-users@googlegroups.com. >> >> >To unsubscribe from this group, send email to >> >> >django-users+unsubscr...@googlegroups.com. >> >> >For more options, visit this group at >> >> >http://groups.google.com/group/django-users?hl=en. >> > >> >-- >> >You received this message because you are subscribed to the Google >>Groups >> >"Django users" group. >> >To post to this group, send email to django-users@googlegroups.com. >> >To unsubscribe from this group, send email to >> >django-users+unsubscr...@googlegroups.com. >> >For more options, visit this group at >> >http://groups.google.com/group/django-users?hl=en. >> > >> >> -- >> You received this message because you are subscribed to the Google >>Groups "Django users" group. >> To post to this group, send email to django-users@googlegroups.com. >> To unsubscribe from this group, send email to >>django-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >>http://groups.google.com/group/django-users?hl=en. >> > > > >-- >--lc >"Great spirits have always encountered violent opposition from mediocre >minds." >-- Albert Einstein (1879-1955) > >-- >You received this message because you are subscribed to the Google Groups >"Django users" group. >To post to this group, send email to django-users@googlegroups.com. >To unsubscribe from this group, send email to >django-users+unsubscr...@googlegroups.com. >For more options, visit this group at >http://groups.google.com/group/django-users?hl=en. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.