On Sun, Jun 12, 2011 at 8:08 AM, Eric Ongerth <[email protected]> wrote: > @Sluggo et al.: > Hi Mike, > > It's my own responsibility for not noticing the difference in > settings, but I stumbled around for a while last night trying to > figure out why I was getting NameErrors in templates that used to have > none. I should have immediately thought of the config setting > "mako.strict_undefined" but it didn't occur to me because I had set my > app aside for a while between pylons and pyramid and only recently > picked it back up. > > The only reason I'm posting is I wanted to point out that Pyramid > defaults to False on this: > http://docs.pylonsproject.org/projects/pyramid/1.0/narr/environment.html#mako-strict-undefined > > While Akhet defaults to True: > http://sluggo.scrapping.cc/python/Akhet/architecture.html#development-ini > > And it's enough of a 'gotcha' that I think some newcomers (or people > like me who keep converting themselves back into newcomers by going > away to work on other stuff and coming back again) could repeat the > same experience if they were not scrutinizing the docs line-by-line. > My own fault that I didn't, but the essence of my point is that even > if I had read the docs more closely I might still not have caught the > fact that merely by choosing Akhet my templates would behave > differently in an important way. (In case that doesn't make sense, > some of my templates used to depend on strict_undefined=false for > control flow -- specifically, in the trick I was using to allow the > same template to be reused as both the 'create' form and the 'update' > form for the same class in my CRUD app.) > > So maybe it's worth a paragraph with or without its own heading in the > Akhet docs.
I'll put a note in the Templates section. It shows it in the INI file but doesn't elaborate on it. It defaults to strict because that's what Pylons does, and because I thought most people agreed that not defining all your variables was bad program design. I usually do something like 'is_new = True' or 'record_id = None' to indicate a create view as opposed to an edit view. -- Mike Orr <[email protected]> -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
