[Zope] Python Scripts and HTML Forms

Muk Yan myan at umich.edu
Fri Aug 18 17:22:06 EDT 2006


Hi Jonathan,

Thanks a lot, it works today, but it was acting up a bit yesterday.  I
really appreciate it, maybe I just needed to completely get rid of the
browser cache.

Peace and thanks again,
Muk

On 8/17/06, Jonathan <dev101 at magma.ca> wrote:
>
>  If you have a line like
>
> <input type="text" name="first_name" value="default value">
>
> in your html file then if you try the following in your script file
>
> print REQUEST['first_name']
> return printed
>
> you should see "default value" printed out
>
> you can try:
>
> print REQUEST
>
> to see the entire contents of REQUEST (very informative)
>
> Note: if you do not have a default value in your <input> statement and you
> do not enter anything in the input field when the form is displayed, then
> when the form is submitted REQUEST will not contain an entry for the
> corresponding form field (an entry is made in REQUEST only when data is
> entered in the form field)
>
>
> Jonathan
>
>
>
> ----- Original Message -----
> *From:* Muk Yan <myan at umich.edu>
> *To:* Jonathan <dev101 at magma.ca>
> *Cc:* zope at zope.org
> *Sent:* Thursday, August 17, 2006 4:40 PM
> *Subject:* Re: [Zope] Python Scripts and HTML Forms
>
> Hey All,
>
> Sorry about that, what I meant is that I get a KeyError. It says that the
> first_name in REQUEST['first_name'] is not found, when I try to set the
> variable in line in the script where fname = REQUEST['first_name'].
>
> Thanks in advance.
>
> Cheers,
> Muk
>
> On 8/17/06, Jonathan < dev101 at magma.ca> wrote:
> >
> >  What does "it doesn't seem to work" mean?  Error messages/traceback?
> > What does your form & script contain?  More info on the problem is
> > definitely required!
> >
> >
> >
> > Jonathan
> >
> >  ----- Original Message -----
> > *From:* Muk Yan <myan at umich.edu>
> >  *To:* Jonathan <dev101 at magma.ca> ; zope at zope.org
> > *Sent:* Thursday, August 17, 2006 4:20 PM
> > *Subject:* Re: [Zope] Python Scripts and HTML Forms
> >
> > Hey Jonathan, All,
> >
> > Thanks I tried your solution, but it doesn't seem to work.  Can anybody
> > shed some more light on this situation, since what Jonathan provides is
> > exactly what I want to do, but it's not working.
> >
> > Am I forgetting to put parameteres or some other newbie mistake like
> > that?
> >
> > Thanks in advance and thanks again Jonathan.
> >
> > -Muk
> >
> > On 8/17/06, Jonathan <dev101 at magma.ca> wrote:
> > >
> > >  Form variables are stored in REQUEST. In a python script you gain
> > > access to REQUEST by:
> > >
> > > REQUEST = container.REQUEST
> > > you can then access the form variables by:
> > >
> > > fname = REQUEST['first_name']
> > >
> > >
> > > you can check for the presence of a form variable by
> > >
> > > if REQUEST.has_key('first_name'):
> > >
> > > or
> > >
> > > if REQUEST.get('first_name', None):
> > >
> > >
> > > hth
> > >
> > > Jonathan
> > >
> > >
> > >  ----- Original Message -----
> > > *From:* Muk Yan <myan at umich.edu>
> > > *To:* zope at zope.org
> > > *Sent:* Thursday, August 17, 2006 2:57 PM
> > > *Subject:* [Zope] Python Scripts and HTML Forms
> > >
> > > Dear Trusted Zope Zealots,
> > >
> > > This subject was a bit too broad to do a google search on, because
> > > I've tried and the lack of relevancy was astounding.
> > >
> > > I've probably been committing a cardinal sin in DTML, but I couldn't
> > > figure any other work around.
> > >
> > > I have an HTML form in a DTML Document say:
> > >
> > > <form action="process_this_form" method="post"
> > >
> > > Name:<input type="text" name:"first_name">
> > >
> > > </form>
> > >
> > > I want to use "first_name" in a python script, but what I've been
> > > doing is setting it in the process_this_form, which is a DTML method:
> > >
> > > DTML Method, process_this_form:
> > > <dtml-call "REQUEST.SESSION.set ('firstName', first_name)>
> > > <dtml-call "this_is_a_python_script()">
> > >
> > > and in the Python Script, this_is_a_python_script
> > > I use REQUEST.SESSION.get('firstName')
> > >
> > > What my question is, is there anyway to directly access "first_name"
> > > from the form in the python script without having to have to call the
> > > <dtml-call " REQUEST.SESSION.set('firstName', first_name)> and then
> > > REQUEST.SESSION.get('firstName') in the python script.  Sort of a
> > > sophomoric question, but any help would be appreciated.  Thanks in advance.
> > >
> > > -Muk
> > >
> > > ------------------------------
> > >
> > > _______________________________________________
> > > Zope maillist  -  Zope at zope.org
> > > http://mail.zope.org/mailman/listinfo/zope
> > > **   No cross posts or HTML encoding!  **
> > > (Related lists -
> > >  http://mail.zope.org/mailman/listinfo/zope-announce
> > >   http://mail.zope.org/mailman/listinfo/zope-dev )
> > >
> > >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zope/attachments/20060818/bea4d308/attachment.htm


More information about the Zope mailing list