Is Django the way to go for a newbie?

Chris Angelico rosuav at
Fri Aug 14 03:44:42 CEST 2015

On Fri, Aug 14, 2015 at 11:05 AM, Michael Torrie <torriem at> wrote:
> Given that until recently he thought Django was an IDE, I think calling
> Django a library is fair, as it describes to him how it relates to
> Python.  You download it and install it and it goes in site-packages
> along with all the other libraries you might install.  Of course it
> comes with utilities as well (which I mentioned).  Making the
> distinctions you are making, in this context, is probably ultimately
> going to be confusing to him at this stage of the game.  As he gets
> familiar with django I don't think he'll find this original
> simplification confusing, nor has it seemed to make this discussion a mess.
> As to the DSL, I'm not quite sure which part of django you're getting
> at.  Are you referring to the (optional) templating system?

My view, for what it's worth: Django is a library, but it's also a
framework. The difference isn't really that great, and most frameworks
are implemented using libraries. The "library vs framework"
distinction, from an application's standpoint, broadly one of how you
structure your code - do you write a bunch of top-level code that
calls on library functions, or do you write a bunch of functions that
the framework calls on? The distinction can blur some, too.

And as Michael says, the slight simplification isn't causing problems,
so it's really only a technical correctness issue. (Pedantry, in the
best sense of the word.) I've often explained things using
technically-incorrect language, because going into immense detail
won't help; we don't explain quantum mechanics and the nuances of
electrical engineering when we explain how an HTTP request arrives at
your app, because it doesn't matter. Saying "The system hands you a
request to process" is slightly sloppy even from a network admin's
perspective (what you actually get is a socket connection, and then
you read from that until you reckon you have the whole request, yada
yada), but it's what you most likely care about.

On Fri, Aug 14, 2015 at 11:30 AM, Rustom Mody <rustompmody at> wrote:
> Purposive, directed lying is usually better pedagogy than legalistic correctness.

Right :) Only I wouldn't call it "lying", as that term indicates an
intent to deceive. Purposeful inaccuracy, let's say.


More information about the Python-list mailing list