On Wed, Nov 11, 2009 at 8:15 PM, Mike Malone <[email protected]> wrote:
> Sup,
>
> I've been working on template caching (ticket #6262) with a mister
> Alex Gaynor. The patch is getting pretty stable and I think it's close
> to merge-able, so if anyone wants to take a look at what we've got and
> provide feedback: go!
>
> Interesting background reading for people who haven't been part of
> this conversation:
> http://groups.google.com/group/django-developers/browse_thread/thread/b289b871285b86f5/b97ba9e2e9b9ad86
>
> Ticket: http://code.djangoproject.com/ticket/6262
>
> Latest patch: 
> http://code.djangoproject.com/attachment/ticket/6262/cache_templates.5.diff
>
> The more code reviewers the better, but if you don't have time to read
> through the nitty gritty here's a high level overview of the changes:
>
> 1. The workhorse django.template.loader.get_template() function will
> now return compiled Template objects directly if a template loader
> returns one (where a Template object is defined as something with a
> render() method).
> 2. A RenderContext has been added to Context instances. This is
> necessary so we can give template.Node instances a thread-safe place
> to store state between calls to Node.render().
> 3. The built-in template tags were updated to use the render context
> (specifically, CycleNode, BlockNode, and ExtendsNode).
> 4. A caching loader has been added to the set of default loaders. To
> use it, you instantiate the loader, passing a list of other loaders
> that it should wrap. The first time you ask the loader for a template
> it'll go through the wrapped loaders and find it, then cache it in
> memory. Subsequent requests for the same template are served from
> cache. Hazzah!
>
> The patch is pretty complete, it includes tests and docs, so please
> take a look! I stuck the updated docs up on my website temporarily, so
> if you want to take a look at them in a slightly more readable format
> you can check out these URLs:
>  http://immike.net/django-docs/ref/templates/api.html#loader-types
>  http://immike.net/django-docs/howto/custom-template-tags.html#template-tag-thread-safety
>  http://immike.net/django-docs/ref/templates/api.html#using-an-alternative-template-language
>
> Thanks,
>
> Mike
>
> --
>
> You received this message because you are subscribed to the Google Groups 
> "Django developers" 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/django-developers?hl=.
>
>
>

As Mike said I've been reviewing this patch and I'm basically happy
with it's current state.  My one thought was whether to add a
CACHE_TEMPLATE_LOADERS setting, and any loaders in that are cached by
the CachedLoader (assuming it's instantiated with no arguments, it'll
still be possible to explicitly instantiate it with loaders).

Alex

-- 
"I disapprove of what you say, but I will defend to the death your
right to say it." -- Voltaire
"The people's good is the highest law." -- Cicero
"Code can always be simpler than you think, but never as simple as you
want" -- Me

--

You received this message because you are subscribed to the Google Groups 
"Django developers" 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/django-developers?hl=.


Reply via email to