I have this function I was using to convert date objects from my blog posts into a dictionary of years and months I can display in a sidebar:
def post_dates(self):
    """Get dictionary of dates for all posts."""
    grouped_dates = groupby(Post.objects.datetimes('published', 'month'),
                            lambda date: date.year)
    def get_months(dates):
        return [{'name': months[d.month],
                 'num':str(d.month).zfill(2)} for d in dates]
    dates = [{"year": year, 'months': get_months(dates)}
             for year, dates in grouped_dates]
    return dates
Now I'm moving to use Generic Date Views all of which provide date_list on the context. 
Currently a url for me looks like this:
 url(r'posts/(?P<year>\d{4})/?',
    YearArchiveView.as_view(model=Post, date_field="published"), name="post_year_archive"),
So I've not subclassed the view.
I really don't want to have to write a view for each. I thought you could do this in a context_processor but I've read  you can't access current context from a contect processor.
How can I tweak my code to work for the Generic Date View without subclassing? If not let me know, and why?
 
    