As a beginner to web applications and front end stuff, I'm really confused about if it's good practice to use the Django template system and its admin interface in commercial applications.
As far as I know, the modern approach for web apps is to modularize them between a back end and a front end. It seems that this modularity has important benefits related to separation of concerns, and that would mean:
- Creating a Django back end with a REST API to be used by the front end.
- Creating an independent React or Vue front end that makes requests to the API.
With this in mind, while I read the Django tutorial, I was convinced that using templates and the admin site was not a good idea because there would be no modularity, as everything would be inside the Django project, and the UI would also be dependent on Django templates, which seems to be limited by design.
But on the other hand it seems that CRUD applications for management in general would benefit a lot from the Django admin interface. I wonder if it's a terrible idea to deploy a system that is an extension of a Django admin site and if using Django templates would turn into a nightmare later. And if someday I hired a front end developer, if they would even be able to work effectively with the HTML pages I create via the Django template system.
So in short, is it a terrible idea to make a commercial web app UI based on Django nowadays?
Obs: this question is a repost of my stackoverflow question.