Don’t get hung up over terminology. Regardless of what name is applied, the intent is to define components within the the system and the features and functions those components provide. An architecture specification such as this is intended to provide guidance, and a common terminology when talking about such a system.
In real life, these lines and boundaries end up being blurred anyway. I don’t think I’ve ever seen a production system that truly separates those functions into three clear, distinct, and unambiguous layers - especially since what constitutes functionality belonging to those layers are not unambiguously defined. You can read 5 different articles or blog posts about what belongs in each component and find 5 different opinions.
- MVT is probably a more accurate description of how Django was originally designed and built.
- You can build a system in Django using just about any desired architecture model - it’s not like Django enforces any particular form of architectural layering