Re: [Cheetahtemplate-discuss] recipe for extending/subclassing a dynamically generated template cla
Brought to you by:
rtyler,
tavis_rudd
From: Jose G. <jo...@cy...> - 2006-06-14 05:47:43
|
Can someone please tell my why this does not work in a template, I thought it should but it does not ================ #set base = Template.compile(file='chTemplates/base.tmpl')) #from $base import base #extends base the rest of the template If I comment out the above code the template compile just fine. Jose Shannon -jj Behrens wrote: > As long as you have an import hook, life is easy. In Aquarium, I had > to look at the file, find the parent class, and compile and import > that before I could compile and import the child. I specifically > needed to avoid coding my own import hook, but I doubt everyone else > has the same problems or weird environment that I do. > > -jj > > On 1/6/06, Tavis Rudd <ta...@re...> wrote: > >> note that the hooks I added in 2.0b1 make this sort of template introspection >> easy for all directives. >> >> On Thursday 15 December 2005 6:21 pm, Shannon -jj Behrens wrote: >> >>> Actually, it was already possible to subclass templates that had not >>> been compiled statically in Aquarium. This was a crucial feature, so >>> I had to hack it a bit. Specifically, when Aquarium is loading a >>> template on the fly, if it sees an "#extends" line, it'll >>> automatically load the parent class. Nonetheless, I'm happy to see it >>> in Cheetah. >>> >>> Happy Hacking! >>> -jj >>> >>> On 12/13/05, Tavis Rudd <ta...@re...> wrote: >>> >>>> Before yesterday it was only possible to subclass templates that had been >>>> compiled statically with the command line 'cheetah' tool. Now you can do >>>> something like this: >>>> >>>> from Cheetah.Template import Template >>>> import Cheetah >>>> src = ''' >>>> #extends object >>>> #set name = "tempate" >>>> This is a $name >>>> $meth1 >>>> #def meth1 >>>> this is meth1 in klass1 >>>> #end def >>>> ''' >>>> klass1 = Template.compile(src) >>>> print klass1 >>>> print klass1() >>>> Cheetah.aDynamicallyCompiledClass = klass1 >>>> >>>> klass2 = Template.compile(""" >>>> #from Cheetah import aDynamicallyCompiledClass >>>> #extends aDynamicallyCompiledClass >>>> #implements meth1 >>>> this is meth1 redefined in klass2 >>>> """) >>>> print klass2 >>>> print klass2() >>>> >>>> >>>> ------------------------------------------------------- >>>> This SF.net email is sponsored by: Splunk Inc. Do you grep through log >>>> files for problems? Stop! Download the new AJAX search engine that >>>> makes searching your log files as easy as surfing the web. DOWNLOAD >>>> SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click >>>> _______________________________________________ >>>> Cheetahtemplate-discuss mailing list >>>> Che...@li... >>>> https://lists.sourceforge.net/lists/listinfo/cheetahtemplate-discuss >>>> >>> -- >>> Law is much too important a thing to leave to politicians, lawyers, >>> and celebrities. >>> >>> >>> ------------------------------------------------------- >>> This SF.net email is sponsored by: Splunk Inc. Do you grep through log >>> files for problems? Stop! Download the new AJAX search engine that makes >>> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! >>> http://ads.osdn.com/?ad_idv37&alloc_id865&op=Click >>> _______________________________________________ >>> Cheetahtemplate-discuss mailing list >>> Che...@li... >>> https://lists.sourceforge.net/lists/listinfo/cheetahtemplate-discuss >>> > > > -- > Law is much too important to be left to politicians, lawyers, and celebrities. > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_idv37&alloc_id865&op=click > _______________________________________________ > Cheetahtemplate-discuss mailing list > Che...@li... > https://lists.sourceforge.net/lists/listinfo/cheetahtemplate-discuss > > > |