[Twisted-web] Re: NevowSite and renderString (was: really beginner example)

Ellers andrew at ellerton.net
Wed Apr 7 14:28:57 MDT 2004


> Have you tried using NevowSite, but giving it one of your custom
> resources instead of a nevow.rend.Page instance? I'm not sure whether
> that will work or not, but I don't see why it shouldn't. NevowSite is
> just a subclass of t.w.server.Site, which you need anyways.

That works nicely, thanks :)

I'll keep experimenting there and tinker with things to get a better understanding of how the parts work together.

In the meantime, I'm having trouble with lists now - in particular, I want to display a list and have each item be a link. I looked at the Nevow calendar example but I can't follow it.

In my page class I have this (excerpt):

	def data_names(self, context, data):
		# this is a list of strings
		return self.names

	def getURLForName( self, name ):
		# a crappy demo of how I can parameterise getting the URL
		# for a given name
		return "/data/%s" % name

	def render_link(self, context, data):
		# would it be better to do something like:
		#
		#    return T.a(href=url)[title],
		#
		# ?
		#
		name = ??
		url = self.getURLForName( name )
		return "<a href='%s'>%s</a>" % ( url, title )

I know this code isn't great, but the thing I'm stuck on right now is how do I get the name argument - from the data parameter?

Oh, and I probably shouldn't be calling it render_link... sorry guys, I get lost with Nevow a bit! :)

The html fragment I'm using is:

		<p>This is called <span nevow:data="title" nevow:render="string" /></p>
		<p>This is a list of stuff:<br/>
		<ol nevow:data="names" nevow:render="sequence">
			<span nevow:pattern="header">HEADER</span>
			<li nevow:pattern="item"><span nevow:render="string" /></li>

			<span nevow:pattern="divider">-----</span>
			<div nevow:pattern="empty">Nothing.</div>
			<span nevow:pattern="footer">FOOTER</span>
		</ol>
		</p>

The title span is working really well - and many thanks here go to Alex Levy!

thanks for any help on the above

Ellers



More information about the Twisted-web mailing list