if you want to get a good idea of every python module that you can put together to build this, I would say go with Flask. If you're familiar with Python, you'll learn the basics of it in a weekend. It's easier that way to follow the steps from http request all the way to JSON serialization.
Django, on the other hand, is more full-featured and already comes with all of these things bundled into the framework, so you wont have to install and import them. it might take more time to learn it, but Django is currently the most production-ready of these two.
As far as things you'll need to know.. You'd have to learn some basic HTML and CSS if you haven't already. You'll need it for when you write templates (which are basically HTML files that haven't been modified by python yet) and you'll have to understand the concept of a Model-View-Controller, but you'll learn that as you learn the framework.
But honestly, as someone mentioned before, just try it. you'll end up learning all of this even if you don't intend to.