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.

Reply via email to