Hans a écrit :
(snip)

Maybe I did not make my question clear. I never tried python web
programing before, so I want to start from CGI.

You can indeed learn quite a few things doing raw CGI - the most important one being why frameworks are a good idea !-)

I read something about web framework like django, but seems it's a
little bit complicated.

Not that much IMHO, but being an early django user I'm probably a bit biased. Now Python is known as "the language with more web frameworks than keywords", so you could probably check some lighter framework like web.py (http://webpy.org/) or flask (http://flask.pocoo.org/).

my task is actually very simple: get search
string from input, and then search database, print search result. I
thought CGI should be good enough to do this.

CGI is "good enough" to do any web stuff - just like assembler is "good enough" to write any application !-)

I don't have any idea about how to organize those cgi codes, so what
I'm asking is:

1. do I have to have each single file for each hyper-link? Can I put
them together? how?
>
2. how can I pass a db_cursor to another file?   can I use db_cursor as
a parameter?

Obviously not. FWIW, both questions show a lack of understanding of the HTTP protocol, and you can't hope to do anything good in web programming if you don't understand at least the basics of the HTTP protocol, specially the request/response cycle.

Now for a couple more practical answers:

There are basically two ways to organize your url => code mapping:
1/ have only one cgi script and use querystring params to tell which action should be executed.
2/ have one cgi script per action.

The choice is up to you. For a simple app like yours, the first solution is probably the most obvious : always display the seach form, if the user submitted the form also display the result list. That's how google works (wrt/ user interface I mean).

Now if you still need / want to have distinct scripts and want to factor out some common code, you just put the common code in a module that you import from each script.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to