[Twisted-web] Including templates in CGI
Cliff Wells
clifford.wells at comcast.net
Mon Jun 13 20:27:27 MDT 2005
On Mon, 2005-06-13 at 16:50 -0700, Donovan Preston wrote:
> On Jun 11, 2005, at 1:37 AM, Cliff Wells wrote:
> you have more Python code than your PHP
> code, but that's because you check for more and it has more
> capability.
Well, to be sure, I'd rather write 10 lines of Python than 5 lines of
PHP anyway ;)
> However, here are a few suggestions:
>
> > if os.path.exists(filename):
> > fragClass = rend.Fragment
> > fragClass.docFactory = loaders.xmlfile(filename,
> > ignoreDocType=True)
>
> This is weird and unnecessary. Fragment takes a docFactory argument
> for a reason. So, do this instead:
>
> frag = Fragment(docFactory=loaders.xmlfile(filename,
> ignoreDocType=True))
Yep, found this shortly after I posted (as usual).
>
> > ctx.tag.fillSlots(ctx.tag.attributes.get('slot'),
> > fragClass())
> > return ctx.tag
>
> This is also pretty weird. I'm not understanding what the extra slot
> is giving you. If it were me, I would just "return frag" here and
> dispense with the slot in the template as well as the slot-filling.
Thanks! That made my templates quite a bit cleaner (and dropped a couple
lines of Python as well). I had stumbled onto something that worked, so
I hadn't bothered looking any further for the "right" solution (smacks
self).
> > <div id="content">
> > <nevow:invisible nevow:render="include" variable="page"
> > slot="content">
> > <nevow:slot name="content" />
>
> See comment above, I think this slot is extraneous...
Indeed it was.
Thanks a lot. Your advice was right on the money. I'm liking Nevow
more by the minute =)
Regards,
Cliff
--
Cliff Wells <clifford.wells at comcast.net>
More information about the Twisted-web
mailing list