Hi, I have a little problem. I want to use a nevow:data="test2" in a form but I got this error: nevow.accessors.NoAccessor: <MethodBinding doSomething=Method at 0xc4cd30> does not implement IContainer, and there is no registered adapter. Here's my code: ############disktemplates.tac class ISomething(annotate.TypedInterface): def doSomething( self, ctx = annotate.Context(), fee = annotate.String(required=True, description="Wee!"), ): """""" doSomething = annotate.autocallable(doSomething) class Mine(rend.Page): __implements__ = ISomething, rend.Page.__implements__ docFactory = loaders.htmlfile('disktemplates.html') def data_test(self, context, data): return "coucou" def render_test(self, context, data): return T.span()[data] def data_test2(self, context, data): return "test2!" def render_test2(self, context, data): return T.span()[data] def doSomething(self, ctx, **kwargs): print '***** doSomething called with:', kwargs def render_customForm(self, ctx, data): return webform.renderForms()[self.FORM_LAYOUT] FORM_LAYOUT = loaders.xmlstr("""<form xmlns:n="http://nevow.com/ns/nevow/0.1" n:pattern="freeform-form"> <n:attr name="action"><n:slot name="form-action"/></n:attr> <n:attr name="id"><n:slot name="form-id"/></n:attr> <n:attr name="name"><n:slot name="form-name"/></n:attr> <span n:data="test2" n:render="test2" /> <table style="background: #eee; border: 1px solid #bbb; padding: 1em;" > <n:slot name="form-arguments"/> <n:invisible n:pattern="argument" n:render="remove"> <tr> <th><n:slot name="label"/>:</th> <td><n:slot name="input"/><span class="freeform-error"><n:slot name="error"/></span></td> </tr> <tr> <th></th> <td><n:slot name="description"/></td> </tr> </n:invisible> <tr> <td colspan="2"> <n:slot name="form-button"/> </td> </tr> </table> </form>""").load() application = service.Application("disktemplates") internet.TCPServer(8080, appserver.NevowSite(Mine())).setServiceParent(application) #########disktemplates.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>This is title</title> </head> <body> <span nevow:data="test" nevow:render="test" /> <span nevow:render="customForm" /> </body> </html> --------------------------------------- The nevow:data in disktemplates.html is ok but the one in FORM_LAYOUT is not working. I really need to have an nevow:data="??" in my form. Maybe I'm doing something wrong. Vicky
participants (1)
-
vicky