wormwood_3 wrote: > Hello all, > I am working on a very simple CGI script. The site I want to use it > on is a shared linux host, but I confirmed that .py files in the > right dir with the right permissions and shebang execute just fine, > Hello World sort of tests were successful.
Those are the first things I'd try too. > So now something a little more involved: > > > #!/usr/bin/python2.4 > > import cgitb; cgitb.enable() > > thefile = open("template.html", "r") > templatestuff = thefile.read() > thefile.close() > print "Content-Type: text/html" > if templatestuff: > print "Found it" > title1 = "I am a title!" > body1 = "I am some hot content" > print templatestuff % (title1, body1) > > "template.html" is in the same dir, and is simply: > > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > <html> > <html> > <head> > <title> %s </title> > </head> > <body> > %s > </body> > </html> [..] > Any ideas? Here are a few ideas plus some suggestions. I've been dabbling with python/cgi myself and so there might be something you can take from these comments. - If your webserver and the machine where you executed this from are different (home directories are NFS mounts etc.), then the permissions and directory visibilities might affect things. - It looks fairly obvious that the problem is in those three lines. Your content-type header is printed only after those lines are executed so if there is an error there, you'll get an error 500. Try putting your content-type line right after your import cgitb. - Wrap the 3 suspicious lines in a try block and print out the execption which you catch. - Tail the server logs to see what happened. Good luck. -- ~noufal _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor