Pedro Ferreira
ilzogoiby at gmail.com
Sat Nov 5 09:50:03 EST 2005
Hello all. I started using PSP some days ago, and decided to build some classes to simplify the creation of webforms. Unfortunately I'm having some problems with a "random" error. Sometimes the same page works ok, but sometimes it fails. Since it works ok through the python interpreter (using the commented at the end of forms.py), i thought it might be a mod_python issue. Any help would be appreciated. Here is the code: #------------ #index.psp #............ <% page_title = "xpto" %> <%@ include file="header.psp"%> <div id="text"> <% from forms import * frm = Form('test','test.py') fld = TextField('name','Full Name','Bill') frm.addField(fld) %> <%=frm.getHTML()%> </div> <%@ include file="footer.psp"%> #------------ #forms.py #............ class Field: def __init__(self,name,label,defaultValue): self.name = name self.label = label self.defaultValue = defaultValue class TextField(Field): def __init__(self,name,label,defaultValue,size=0): Field.__init__(self,name,label,defaultValue) self.size = size def getHTML(self): ret = self.label+': <input name="'+self.name+'" value="'+self.defaultValue+'"'; if (self.size != 0): ret += ' size="%d"' % (self.size); ret += ' />\n' return ret class Form: def __init__(self,name,action): self.action = action self.name = name self.fields = [] def addField(self, field): self.fields.append(field) def getHTML(self): ret = '<form name="'+self.name+'" method="POST" action="'+self.action+'">\n' for field in self.fields: ret += field.getHTML() ret += '</form>\n' return ret #frm = Form('test','test.py') #fld = TextField('name','Full Name','Bill',10) #frm.addField(fld) #print frm.getHTML() ......................... SOMETIMES WORKS, SOMETIMES RESULTS IN THE FOLLOWING ERROR: Mod_python error: "PythonHandler mod_python.psp" Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 299, in HandlerDispatch result = object(req) File "/usr/lib/python2.4/site-packages/mod_python/psp.py", line 297, in handler p.run() File "/usr/lib/python2.4/site-packages/mod_python/psp.py", line 208, in run exec code in global_scope File "/home/mahound/public_html/santuario/index.psp", line 26, in ? File "/home/mahound/public_html/santuario/forms.py", line 32, in getHTML ret += field.getHTML() TypeError: cannot concatenate 'str' and 'NoneType' objects .................... Thanks in advance, Pedro
|