Personally I much prefer the lack of magic in Flask and would far rather make a crud app in Flask than Django. Whenever I have to use Django I'm endlessly frustrated by the fact that everything is so abstracted and there's so much magic that most of my stack traces show only ~30 lines of Django internals and none of my own code.
Another (old but still excellent) resource for anyone learning Flask: http://mattupstate.com/blog/how-i-structure-my-flask-applica...
Totally agree, Django's ORM is fantastic, and everything else is fine. Combine Django with Django REST Framework and you've got a great way to build an API in no time flat.
For projects that don't require an ORM, or work with databases that Django doesn't support, I'm not as big a fan of Django, however.
There's an idea floating around on my team right now that literally all of our projects, even non-webapps, should be Django (I got questions about my use of -m recently, was told a "management command" would have been better), so I'm sensitive to this "just use Django" advice, maybe.
If people want "batteries included" solutions then nowadays they are better off going with spring or ASP.NET Core.
Why? I use Django and its pretty good.
I wish you had written a more detailed answer. I have to say I am really impressed by ASP.NET Core MVC on first look. I would love it if you had suggested something like the OP's Mega Tutorial for .net core. Then we could all have taken a look, rather than just taking your word for it.
That said, IMHO, if you're going to implement a simple CRUD app in Python, you may as well just use Django. Django includes all of the "batteries" for handling forms, authentication, databases (the ORM), etc. right out of the box. I think Flask has its place; but when it becomes a simple reimplementation of Django, I'm not sure I see the point.