Years ago I learned to code in PHP/MySQL, never really using a framework. I made some attempts to use CakePHP and Symfony but never liked them much.
When I wanted to build my first big project, I looked for something like Rails in PHP but couldn't find anything. I did find Django, though, which looked cool. Since Python was more similar to PHP than Ruby, I learned Python and used Django.
Eventually I found Django too heavyweight and "batteries included" for what I wanted, so I moved to Flask.
Flask is awesome and if you like Python I still recommend it. But I think it gives you too much flexibility and there are too many ways to do one thing. Also, Python does not strike me as a language well suited to the web, primarily because everything is synchronous.
I'm now building a web app with expressjs, which has all the benefits of flask (minimal, include modules as you need them) with better defined best-practices and a larger ecosystem.
I'm using parse-server as the backend. At first I hated parse because of vendor lock-in, but now that parse-server is open source, that argument is moot. Installing it on my own server is very easy.
The best benefit of using parse-server is how easy it makes building components in different languages. Because there is a parse client library in almost every language, you can write each component of a project in the language best suited to do the job.
For example, the web app I'm building is an express server that talks to parse. But the billing and invoicing portions of the code, which happen mostly in background jobs, are all Python. They talk to the same parse backend as the web app, complete with all the beforeSave/afterSave triggers and cloud code functions.
Building the web app has been very fast because of built in functionality of parse server like email confirmation, forgot password, etc.
Building the billing code has been enjoyable because I'm more comfortable with Python, and I can offload any consistency worries into beforeSave/afterSave triggers and cloud code functions. This way the web app and Python code can call the same logic.
Having used many others, I would highly recommend this approach.