It is good to see this but it is also an indictment against Django that there is no one, true way to get it all set up. Since everything is a python module it really does not matter how everything is configured, only that it can be found somewhere on the path, however this causes a great deal of confusion when getting started that leads to a lot of frustation until the module penny drops.
You see it as an indictment, I see it as a strength. It's a very pythonic way to handle things, and while I was confused by a lot of deployment options when first learning Django, it was only because it was also my introduction to Python. I'd venture that anyone with decent Python experience will have no trouble with Django.
It is a strength, without a doubt, but it takes a little time to realise this (hence the myriad of blog posts discussing different possibly ways of laying out projects). Django was also my first intro to Python so the simplicity (and elegance) of the module approach was lost on me as I grappled with finding my way across the vast Django landscape.
Although I take issue with trotting out single lines out of context, I'd say that this is in line with that. The "one -- preferably only one -- obvious way to do it" is to make everything a module. The confusion stems from not knowing how to deal with Python modules, not from anything Django is doing. If you know Python, you know how Django handles things. There's no (or, very little) magic involved.
Comments
It is good to see this but it is also an indictment against Django that there is no one, true way to get it all set up. Since everything is a python module it really does not matter how everything is configured, only that it can be found somewhere on the path, however this causes a great deal of confusion when getting started that leads to a lot of frustation until the module penny drops.
You see it as an indictment, I see it as a strength. It's a very pythonic way to handle things, and while I was confused by a lot of deployment options when first learning Django, it was only because it was also my introduction to Python. I'd venture that anyone with decent Python experience will have no trouble with Django.
It is a strength, without a doubt, but it takes a little time to realise this (hence the myriad of blog posts discussing different possibly ways of laying out projects). Django was also my first intro to Python so the simplicity (and elegance) of the module approach was lost on me as I grappled with finding my way across the vast Django landscape.
> It's a very pythonic way to handle things
"There should be one-- and preferably only one --obvious way to do it. "
Although I take issue with trotting out single lines out of context, I'd say that this is in line with that. The "one -- preferably only one -- obvious way to do it" is to make everything a module. The confusion stems from not knowing how to deal with Python modules, not from anything Django is doing. If you know Python, you know how Django handles things. There's no (or, very little) magic involved.
this ^^