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.

Reply via email to