The shortest version I can get to work is:

{{try:}}
{{key,value=form.errors.iteritems().next()}}
<span class="error_message">{{=key}} {{=value}}</span>
{{except:}}
<span class="page_message">{{=message}}</span>
{{pass}}

Bill

On Oct 11, 11:54 pm, yarko <[EMAIL PROTECTED]> wrote:
> Here's what I get with your example:
> ------------
> In [1]: list=[1,2,3,54]
>
> In [2]: for item in list:
>    ...:     print item
>    ...: else:
>    ...:     print "no items"
>    ...:
> 1
> 2
> 3
> 54
> no items
> ---------------
> Which I don' t think is what you want.
>
> If you want the first item, then try this:
>
>      if len(list)>0:
>        for item in list:
>          print item
>      else:
>          print "no items"
>
> or
>
>     if len(list)>0:
>       print list[0]
>     else:
>       print "no items"
>
> For the template language (basically python, but no indent hints), you
> would add 'pass' anywhere unindenting is intended / would be
> ambiguous, e.g at the end of either of these snippets (would also be
> harmless to put at end of any indentation block, but not needed).
>
> Does that help?
>
> I used ipython (http://ipython.scipy.org);  you can also
> interactively test your apps from a shell environment in web2py (which
> will pre-load, and if you have ipython, take you into the ipython
> environment) using this form of invocation:
>
> python web2py -S myapp
>
> Hope this was helpful.
>
> Regards,
> Yarko
>
> On Oct 11, 4:36 pm, billf <[EMAIL PROTECTED]> wrote:
>
> > In this case I wanted the following behaviour:
>
> > If there is at least one error message then display the first error
> > message else display the page message.
>
> > I just tested the template code without the {{break}} and the {{pass}}
> > at the end and it passes the syntax check - I just get all the error
> > messages. If no-one has any solutions I suppose I can get around it
> > with if len(form.errors)>0 or similar.
>
> > Bill
>
> > On Oct 11, 10:09 pm, "Daniel Contag" <[EMAIL PROTECTED]> wrote:
>
> > > What is the "break" for?
>
> > > Daniel
>
> > > On Sat, Oct 11, 2008 at 22:50, billf <[EMAIL PROTECTED]> wrote:
>
> > > > Adding a {{pass}} at the end doesn't make any difference.
>
> > > > On Oct 11, 9:45 pm, billf <[EMAIL PROTECTED]> wrote:
> > > >> New to python, I believe that the following is valid syntax:
>
> > > >> for item in list:
> > > >>   print item
> > > >> else:
> > > >>   print 'no items in list'
>
> > > >> When I put the following in a template I get a SyntaxError: invalid
> > > >> syntax error with "else:" highlighted:
>
> > > >> {{for key,value in form.errors.items():}}
> > > >> <span class="error_message">{{=key}} {{=value}}</span>
> > > >> {{break}}
> > > >> {{else:}}
> > > >> <span class="page_message">{{=message}}</span>
>
> > > >> What am I missing/
>
> > > >> Bill
--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to