Django is a framework for building web applications with Python.
As it sounds like you might not know what these concepts are and are thus confused, I'll try to give a quick overview over what this means:
A framework gives you additional tools (libraries) to work with a programming language. It basically makes working with the language in certain contexts easier from the start as you don't have to build every tool you want to use from scratch. For example, connecting a website with a database might be made easier by using shortcuts (provided by the framework) for interacting with the database.
A web application is a website that reacts to user interaction. It doesn't only serve static content (the HTML and CSS you see in your browser) but dynamically serves content. Based on user input, your web application might e.g. retrieve information from a database and display it, or it might provide a way for the user to authenticate with the website (by checking credentials).
Django is one such web application framework, and Python is the programming language it is built on. There are other frameworks out there that make creating web applications easier, which are based on other languages (e.g. Ruby on Rails, often shortened to just Rails, which is based on the Ruby programming language). There are also other Python-based web application frameworks, which you could use instead of Django, e.g. Flask. As different frameworks provide different functionality and some might be better-suited for some tasks than others, it would make sense to look for online comparisons before picking one.
I have never worked with pure Python combined with HTML + CSS (like you'd combine HTML/CSS and PHP code in one document) and don't know if that is even possible and how one would go about it.
If you want to give Django a try, I'd recommend checking out the Django Girls tutorial, which is a very beginner-friendly tutorial available in several languages.