Hi all, If anybody's interested in some background reading, there is an implementation of this in Mezzanine, using an "overextends" tag.
https://github.com/stephenmcd/mezzanine/blob/1.4.16/mezzanine/template/loader_tags.py Cheers, Alex On Sunday, December 8, 2013 11:08:12 PM UTC+8, unai wrote: > > Hello, > > > given this approach, what if the third party app wants to self-extend > > a django admin template for example? > > I'm working on an other solution that instead of relying on loader > skipping > relies on template skipping. > > Imagine you extend to a self-reference from within a template. All the > templates are ignored until the very same template is skipped and it then > continues normally. > > This allows for apps to extend other apps and for filesystem templates to > extend other TEMPLATE_DIR roots while order is respected. > > Now, the tricky part is to identify a template uniquely. I went for > hashing > but, as Apollo13 said on IRC, that's just too expensive. After looking for > a > while, it seems that both filesystem and app loaders work with absolute > paths. > It seems to me the best way to identify a template uniquely. > > The beauty of the solution is that template skipping is totally relegated > to > app and filesystem loaders. Of course, some changes in > django.template.loader > are needed but they are minor. > > I'm currently having some debugging issues and I'm quite busy with other > things > but I'll try to provide a complete PR this following week. > > If you can think of any problems that this solution would arise don't > hesitate > in telling ;) > > > Best wishes, > > Unai Zalakain > -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at http://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/4ad4b787-7182-4cd2-872c-d84343b6ab9b%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.