Web development starts from serving content using http server (e.g. nginx, apache). The browser sends a request to such a server software and said server software serves either a static (already existing content) or executes some program to process such a request. A program may be written in various languages, python being one of them. The old way was “cgi”, and standard python is “wsgi”. Python has a wsgiref module that you can use to build a simple application (basically a function that receives a request object).
You can build applications on this using any libraries you need (for databases, cookies/session, authentication, generating output formats /html, xml, json/ and so on). If you arrive at some generic (reusable) skeleton of such an app, you can refer to it as “framework”.
Now - there are plenty of frameworks in python ecosystem - the “microframeworks” and the big “batteries included frameworks”. The microframeworks are small architectures (e.g. wekzeug or flask (the latter being an abstraction of the former). The big framework like django or pyramid are very complex, include many things tightly coupled together. In big frameworks you do not choose libraries - frameowkr authors have decided this for you.
So the options are these - you can learn using big frameworks (like jumping into a vast ocean), or trying with small things and apps (drop by drop).
If you have time, will and curiosity, I’d suggest looking into some microframeworks or just trying to build a simple app using wsgiref.
Otherwise - if you choose big frameworks first - you’ll be mostly trying to figure out how to declaratively “configure” some behavior in a complex system, which probably also does some things wrong (e.g. django and databases).