I'm currently messing around with Flask. I really, really like Python. Even if lately (since a few years ago) my concentration is shot. Can't I just set up a coffee drip and just stop sleeping, you think? Even a silly CRUD seems like an unsormountable problem.
But! I set up a VPS! I don't even want to know what I want to do with it, but it's there.
I'll probably start writing a MUD. Or a text game from scratch. Why? See under my username.
Flask in my experience is pretty cool once you get the hang of it, but that did take me a while, especially since I had no prior Python experience. Something that might help you is the tutorialesque program called Flasky that I found. It sets up a lot of the basics of creating a site, from user handling, registration, database integration, views, REST API and so on. While it does mean you don't learn how to do those things yourself, it could be a useful starting point or something to reference if you can't figure things out.
It's also interesting that you mentioned writing a MUD in Python. I started doing the same thing a few months ago, but I got sidetracked with aspirations of doing too much world simulation for it and wrote stuff that was just too slow to do in Python. If you're not doing something crazy like that then Python is probably a really good choice. I still sometimes wonder whether me trying to integrate the natural language processing library to parse user commands was wise... I'm guessing it's both overkill and probably counterproductive in the end.
Anyway, my own recent experiences with libraries for JavaScript has been mixed so far. We've recently been trying to phase out our in house built templating and data integration library with AngularJS, which for the most part has been surprisingly easy. AngularJS also has some nice features our library didn't, such as seamless updating and two way data binding.
That said... working with it has been frustrating at times. It seems that about 95% of the time that I add a new directive or controller, I've missed
something somewhere and just get a lot of red error text in Chrome's console about missing dependencies. My fault though, so I can live with it.
The thing that really annoys me is how hard it is to understand the way scopes inherit in AngularJS. I'm sure it's well documented somewhere, but it appears that adding isolate scopes anywhere in the scope tree causes things to get just completely out of whack. Things that I'd say should very clearly be a child of the isolate scope instead end up being its sibling somehow. I thought isolate scopes started a new inheritance chain and directives inside of them would be its children, but apparently not.
Oh well, we're managing so far. I'm sure it'll all be much better in the end.