Touched on briefly at Good idea to have a folder to keep apps together? - #3 by guzmanojero
Now for some context: In most cases here, people are raising this issue from the position that they think there’s some efficiency or esthetic improvement to be had by organizing their projects in a non-default structure, without having the knowledge necessary to address the side effects caused by doing so. I maintain that it’s a waste of time and energy to worry about the layout of the project until such time as you know what you’re doing - and why.
If you’ve got the knowledge to handle the issues, and you want to structure your project differently - great. But then you’re not likely going to be posting in a forum that you don’t understand why some import isn’t working as a result.
<opinion>
I’m still going to disagree with the perceived value of doing so - see the complete thread at Is the structure of the project correct?, but I will acknowledge that it is an architectural decision for which viable alternatives exist.
If I’ve learned anything from 40 years of working with software development frameworks, it’s “Don’t fight the framework”. I have found, without exception, that things work more smoothly by adopting the conventions and mindset on which a framework is built instead of trying to make the framework work the way that I may prefer.
Again - at its core it’s an architectural decision, and I can respect people making different choices, even though I don’t agree. Ten years of working almost exclusively with Django, and I’ve yet to encounter a situation where I’ve had any desire - or have seen any benefit - to implementing anything other than the standard project layout.
</opinion>