Hi Idan et al. --
Thanks for putting this all together!
In general, I like this a lot, and I'm always going to defer to the
eyes of someone like Idan who spends more time wrangling templates
than I do. So I like the general gist, and I most don't mind the {%
formconfig %} business.
However, I do have a few concerns:
1. Performance: it looks, to me, like rending a basic form is going to
cause dozens of template includes and dozens of sub-renders (the form
loads a form template which loads row templates which load widget
templates). That's dozens of disk hits, and a lot of overhead for form
rendering. I worry about this overhead a lot. Django's performance has
slipped lately, and I'm really afraid this'll make things a lot worse.
So I'm going to need to see some benchmarks -- particularly in how a
simple {% form myform %} compares to {{ form.as_* }}.
The wrong performance benchmarks could result in a veto from me; this
is important.
2. Verbosity: There's a lot of tags (well, 4, but that's a lot to me)
wall-of-code stuff like
https://github.com/idangazit/formrendering/blob/master/djangocon_sketch.html#L62-83
doesn't particularly give me the warm fuzzies. I think part of the
problem is that all the tags are `form*` which makes for a bit of
"bork bork bork" there.
I think it might be possible to simplify things somewhat here, so
here's my rough thoughts:
* Keep {% form %} -- it's obvious.
* Rename {% formfield %} to {% field %} -- it won't conflict, and it's
(fairly) obvious we're talking about a *form* field since we'll
usually be saying {% field myform.whatever %}.
* Drop {% formrow %} entirely. Instead, have {% field %} generate the
whole thing you're calling a "row".
* Add {% widget %} which rendered just the field (i.e. what {%
formfield %} does now).
* Keep {% formconfig %}.
This is verging dangerously close to bikeshedding, so the syntax
either way won't change my vote much.
Thanks!
Jacob
--
You received this message because you are subscribed to the Google Groups
"Django developers" 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/django-developers?hl=en.