On May 20, 2009, at 10:53 AM, Roberto Cea wrote:
> > I have a large amount of optional components (with a model for each > one) that will be freely inserted by my users, and it would be > impractical to render each one in a single large template. > I want to give each component a ".render()" method, so I can just call > that from the template. > However, I don't want to have to put together each component's HTML in > its model definition. Ideally, each component would have a > corresponding template file, that would be added together with the > page's other components' output to generate the complete page's HTML. > Is there a way to specify, for each model, a small template-snippet > file that will be used to represent it? Hopefully using Django > standard template syntax? I'm not sure this will completely solve your problem, but in several cases I've added python-only (non-database) attributes to models, pointing at a template in my template dirs directory. That way you can use generic code to render snippets for a variety of different models. You could create a mixin class that provides the render() method, using django's template rendering functions and a reference to self.component_template, then have models subclass this mixin and provide their own component_template attribute. Hope that's what you were looking for. Eric > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---