That being said, I know programmers who don't know SQL outside of an ORM, and if it hasn't bitten them in the ass yet, I am very confident that some day it will. I'm a hacker in that I will occasionally write my own http client or something like that, just to learn a new language or networking engine. I'm a professional hacker in that I'd just as soon use one already created by a competent person (or persons) and use my time to write something more interesting.
The mantra of "good coders code, great steal/reuse" has, for my entire career, more or less proven to be true.
I think the term "hacker" has two definitions around here and in the web-development world.
* Those who are interested in the internals of the system at the lowest level (non framework hackers) * Those interested in developing and hacking the framework it self as a platform and knowing all the details and hacks on it (framework hackers).
Regarding the non-hacker just-programming-for-work people, I totally agree with you.
I think either type of hacker would be happy with using a framework if it wasn't closely related to what they need to do. For example, my latest app has a ton of Javascript code, but still needed some functionality on the server. I used Django to get that part done with quickly. For the actual Javascript, I used jQuery as a library, not an application framework.
As a side note, I feel Django does a pretty good job in being transparent. Once I've got it set up, it's transparent where in the view what loads and calls what, even if it is the loading/calling of templates and models. On the other hand, I never did get very far into Rails.