Cliff you are correct that was a typo in my original question. If you look 
at my code you can see that I am using session.variable_name in all other 
cases. This is how I want to do it. But my original question still remains.

On Thursday, 26 July 2012 16:15:56 UTC+1, Cliff Kachinske wrote:
>
> The dot notation for session.vars.a is not going to work.  
>
> It's true that session is a Python object and you can assign attributes to 
> it, but vars is not a Python object.  Thus you cannot assign attributes to 
> it.
>
> For this case, it would be simpler to just use something like 
> session.user_input
>
> If for some reason you want to assign multiple values to session.vars, it 
> could by a Python list or a dictionary.  But first you have to initialize 
> it, something like
>
> if 'vars' not in session:
>   session.vars = {} # for a dictionary
>
>
>
> On Thursday, July 26, 2012 8:43:33 AM UTC-4, adohertyd wrote:
>>
>> Hope you guys can give me a hand here. I have two central functions in my 
>> controller: index() and resultsDisplay()
>>
>> In index() the user enters a string into a form and it is assigned to 
>> session.var.a
>>
>> session.var.a is passed to resultsDisplay() and it is processed. In the 
>> resultsDisplay() view, I want the form from index() to be shown with the 
>> user's string in it. I also will have a number of alternative suggestions 
>> for the user. What I want is that if the user enters another term in the 
>> form on the results page, or if the user clicks one of the supplied 
>> suggestions, the resultsDisplay() function will restart, except that 
>> instead of session.var.a being the form data from the index(), it will be 
>> whatever the new value is. A great example of this is Google. If you type a 
>> query in the main bar it gives you results. You notice that you've spelt 
>> the query incorrectly. Google offers a suggestion, or the user has the 
>> option of re-typing the query in the box and getting a new set of results. 
>> How would I do this? Also, on a side note, how do I give the radio buttons 
>> in my form a default value?
>>
>> *def index():*
>>    
>>  form = SQLFORM.factory(
>>          Field('field_1','string', widget=SQLFORM.widgets.string.widget,
>> requires=IS_NOT_EMPTY()),
>>          Field('field_2',requires=IS_IN_SET(('Yes','No')), widget=SQLFORM
>> .widgets.radio.widget),
>>            submit_button='Go!')      
>>     if form.process().accepted:
>>         session.term=request.vars.field_1
>>         session.aggregate=request.vars.field_2
>>         redirect(URL('resultsDisplay'))
>>     else:
>>         response.flash = 'please fill the form'
>>     return dict(form=form)
>>
>>
>> *def resultsDisplay():*
>>  
>>    __function_1(session.term)
>>     do some processing
>>     __function_2(session.term)
>>     do some processing
>>     __function_3(session.term)
>>
>>
>>     return locals()
>>
>>
>> *index.html:*
>>
>> {{=form.custom.begin}}
>>   <div id="textBar">{{=form.custom.widget.field_1}}<br />
>>   {{=form.custom.submit}}</div>
>>   <br />
>>   Choice:
>>   <div>{{=form.custom.widget.field_2}}</div>
>>   {{=form.custom.end}}
>>
>>
>> *resultsDisplay.html:*
>> *
>> *
>> #I want to put the form from index.html here
>> {{=DisplayResults_as per resultsDisplay function}}
>> #I want to put suggestions that, when clicked, will reload this page with 
>> new result set.
>>
>>

-- 



Reply via email to