I'm trying to do some form of skinning with Django's templating engine. Without going into too much detail, my project is kindof a service that powers multiple sites. Each site can have a skin inside a site-specific folder. These folders are not parallel to each other.
for example: myapp/webroot/media/domainone.com/myskin/ myapp/webroot/media/domaintwo.com/otherskin/ These folders contain templates. I want to be able to (at runtime) specify this folder to the template engine. This means adding them all to TEMPLATE_DIRS is a definite no. I was looking at the documentation and the code and it doesn't look like this will work. Workarounds like specifying a long path as the template name (folder/subfolder/someotherfolder/template.html) will not work, because these sites should not be able to access each other's templates. The main things I am looking for are.. Can I load the template from an arbitrary folder? Will extends work correctly and load the template we're inheriting from from that same folder? I see that ExtendsNode can take a template_dirs argument, but this defaults to None and it looks like it never gets passed in. find_template_source can also take a dirs argument, but this also defaults to None and inside filesystem.get_template_sources this defaults to TEMPLATE_DIRS (from what I can tell this is always the case) and in app_directories.get_template_sources this is ignored completely. Basically, from what I can tell, the Django template engine is very (probably too) tightly tied to the settings module and the little bits that imply otherwise are a misleading. Please correct me if I'm wrong about this. Has anyone else thought about it? Does anyone have ideas on how to fix it or at least work around it? I guess I can try and set TEMPLATE_DIRS at runtime, but that just feels wrong. I'll have to set it back in a multi-process environment and in a multi-threaded environment that would probably be a very bad idea. (I'm just guessing. Please correct me if I'm wrong) I don't mind patching the source code, but it would be nice if someone helps me out and my patches ultimately get accepted, because I would prefer not to maintain a branch ;) --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
