Victor Subervi wrote:
Ok. Starting over. Here is the script that "generates" the variable
"new_passengers_curr_customers":
<snip>

Now, here's the form that *should* be able to access that variable:

!/usr/bin/python

import cgitb; cgitb.enable()
import cgi
import sys,os
sys.path.append(os.getcwd())
import MySQLdb
from login import login
import fpformat
from New_Passengers_Curr_Customers import New_Passengers_Curr_Customers
from New_Passengers_Addl_Customers import New_Passengers_Addl_Customers
from New_Passenger import New_Passenger

form = cgi.FieldStorage()

<snip>
I have to guess here, since I have very limited CGI experience, and the FieldStorage() function/class isn't listed in my 2.6 docs.

But my guess is that you only get to parse the cgi stuff once. So when you import another module that calls that same function, it clears it out so it's no longer accessible to you here. Think of a file open. Once read, the file-ptr is at the end, and further reads won't see anything.

If I'm right, then you'd need something like "rewind". Or if you just want this script to access the data, then move that line before the three imports.

Your question would have been much easier to understand if you had referred to "form field" rather than variable, since I assumed you really meant Python variable. Also, this script is a CGI script, written in Python. But the other files that you import are python modules, not scripts.

I'd also suggest you not use the same name for the module that you use for the function in that module. That's the cause of another confusion I had with your message.

But back to your problem.

I'd suggest you do all your form interaction from a single script, and pass any needed data explicitly to functions in the other modules, rather than having them try to look it up themselves.

DaveA
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to