2013/12/8 unai <u...@gisa-elkartea.org> > 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 ;) > > > I think that this could have two problems, without see the code it's possible that when I will see the code I will see another problems or I like the complete solution:
1. Efficiency: If this new solution slows the compilation/find/render template, I dislike it 2. This solution will complicate the template development. e.g. if a application overwrite the "admin/change_form.html" template and a developer wants to update this template, he will have to search this template in every app. He does not know what application is overwriting this template... With the current solution [1] if you overwrite the "admin/change_form.html" template this only (the most common usecase) will be in a place, this will be in the template project directory. For these reasons (above all the second reason), a priori this is not a good solution for me. REF's 1. https://github.com/django/django/pull/2042 Best regards, -- Pablo Martín -- 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/CALNyWLERNLiRzpCoBe7payf4JisC0vfmf0f0UPXnCMFOE-gVEg%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.