views:

170

answers:

3

Hi, I'm kind of lost as to how to do this:

I have some chained select boxes, with one select box per view. Each choice should be saved so that a query is built up. At the end, the query should be run.

But how do you share state in django? I can pass from view to template, but not template to view and not view to view. Or I'm truly not sure how to do this. Please help!

A: 

Put the values to hold into the session.

Ignacio Vazquez-Abrams
A: 

There are many ways... in the view to template... put the variables in hidden fields in the forms. So when you "submit" in the subsequent forms... the values are then contained in the following request.POST.get().

Of course you can also store the various data elements in a DB table (disk or ram) between views... using the session_id as the key into the datastore. (not recommended for load balanced systems).

And my least favorite is cookies. (see the APIs for how to store in cookies)

UPDATE: Sorry there are no code examples here... the docs are pretty easy to read. There is also a djangosnippets website that you use to look up example code.

Richard
A: 

You can store such information in session as Ignacio Vazquez-Abrams said or use django-flash - (django-flash usage)

grucha