> I didn't see how you return array to template context.

Okay... well, it's actually a string that I finally send to the
template. It's a long story (sorry), but I use the array to build a
string (i.e values from the array get embedded in HTML source). The
place where the string is return to the template is the last line on
the tag, i.e. "return home_calendar".

The line above it "home_calendar = print_cal()", shows how
print_calendar is a value derived from the function that builds the
string.

I could show you the source of the array and string building function,
but I'm afraid you eyes might bleed :)

On Apr 20, 4:37 pm, Anatoliy <anatoliy.la...@gmail.com> wrote:
> Tonne,
>
> I didn't see how you return array to template context.
>
> On Apr 20, 11:44 am, Tonne <pascal.bomp...@gmail.com> wrote:
>
>
>
> > Thanks
>
> > > Can you show code of your tag and template where it used?
>
> > Well, sure, but the tag is quite a big one, 150 lines long due to the
> > large array and string concatenation going on. So I've shown here only
> > what I assume to be the critical bits.
>
> > (btw. the tag discussed here was the solution to this 
> > issuehttp://groups.google.com/group/django-users/browse_thread/thread/ae40...)
>
> > tag
> > ----------------------------------------------------------------------
>
> > cal = { 2007:
>
> > {
> >                                 1:  [ [1], [2], #etcetera....... a fairly 
> > big multidimensional
> > array
>
> > def update_cal_links(year, month, day):
> >         """updates 'cal' array with a link to entry"""
> >         link = "/%d/%d/%d/" %(year, month, day)
> >         cal[year][month][day-1].insert(1,link)
> >         return
>
> > def print_cal():
> >         """ Returns a string, compiling calender into a series of nested
> > unordered lists"""
> >         #I've removed the body of this function cos it's long, ugly
> > and it does seem to work fine
>
> > @register.simple_tag
> > def do_home_calendar():
> >         """ Populates calendar with links to entries,
> >                 returns a formatted calendar to the template."""
> >         entries = Entry.objects.all()
> >         for date in entries:
> >                 link = date.splitDate() #model method
> >                 update_cal_links(int(link['year']), int(link['month']), 
> > int(link
> > ['day'])) # function expects integers
> >         home_calendar = print_cal()
> >         return home_calendar
>
> > template
> > ----------------------------------------------------------------
>
> > {% extends "base.html" %}
> > {% load simple_tags %}
>
> > {% block content %}
> >         {% do_home_calendar %}
> >                 {% if archive_list %}
> >                         <h1>hello</h1>
> >                         <ul>
> >                                 {% for entry in archive_list %}
> >                                         <li><a href="{{ 
> > entry.get_absolute_url }}">{{ entry.date }}</a></
> > li>
> >                                 {% endfor %}
> >                         </ul>
> >                 {% else %}
> >                         <h1>FAIL!</h1>
> >                 {% endif %}
> > {% endblock %}
--~--~---------~--~----~------------~-------~--~----~
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