Wordpress + the Advanced Custom Fields (ACF) plugin can do this pretty easily for even a non-technical user. Although doing detailed code customization on the backend is a bit of a mess.
If you want a lot of logic / custom code, I'd use django-cms!
If you want a lot of logic / custom code, I'd use django-cms!
Basically gives you views and controllers, you fetch posts in php files, manipulate them, then render out twig views.
You can even add custom routes: https://github.com/jarednova/timber/wiki/Routes. If I want to decouple WP and the frontend, I just add routes that return JSON, same as Express or any other modern framework.
With the coming of WordPress REST, I'm hopeful that a group more secure minded starts working on WP templates.