Hello web2py folks, what is the preferred way to exchange parameters or variables between views and controllers?
I have a page where a form gathers input and then a plot is generated according to these inputs. I am currently using the following setup: ## in VIEW <h2>Input form</h2> {{=form}} <h2>Submitted variables</h2> {{=(request.vars.number, request.vars.hold)}} <center> <img src="{{=URL(r=request,f='image_mat_form', args=[request.vars.number, request.vars.hold])}}"/> <!-- <img src="{{=URL(r=request,f='image_pil')}}"/> --> </center> # in CONTROLLER def plot(): form=FORM(TABLE(TR("Your number:",INPUT(_type="text", _name="number",requires=IS_FLOAT_IN_RANGE(0, 10))), TR("Overlay new curves:",INPUT(_type="checkbox",_name="hold", value=False)), TR("",INPUT(_type="submit",_value="SUBMIT")))) if form.accepts(request.vars,session): response.flash="form accepted" elif form.errors: response.flash="form is invalid" else: response.flash="please fill the form" return dict(form=form,vars=form.vars) def image_mat_form(): number = float(request.args[0]) hold = request.args[1] if hold == 'on': hold_check = True else: hold_check = False import sys import matplotlib as mpl mpl.use('Agg') # from pylab import plot, savefig, legend, hold import matplotlib.pyplot as plt import numpy as np import scipy as sp import scipy.stats as st plt.hold(hold_check) t = np.arange(0.0 , 5.0, 0.05) s1 = np.sin(number * np.pi * t ) s2 = s1 * np.exp(-t) plt.plot(t, s1, 'g--o', t, s2, 'r:s' ) plt.legend(('sine wave ', 'damped exponential')) # plot([1, 2 , number]) response.headers['Content-Type']="image/png" plt.savefig(response.body) return response.body.getvalue() is there a better option for exchanging the form data than args=[request.vars.number, request.vars.hold] -> number = float(request.args[0]), hold = request.args[1]? I will extend this and the "request.vars" will be many more. Please tell if you do not understand my question. Also I'd like to know how to add a file upload field to a FORM. Thanks in advance, Timmie Reference: Subject: [web2py:26240] Re: how can i write a PIL image object to response http://permalink.gmane.org/gmane.comp.python.web2py/13567 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---