'Framework' is a generic term.
Django is a web development framework built on top of Python. It provides commonly needed tools for creating a website: tools like connecting to a database layer, running a development server, rendering views, and routing requests to the correct controller are all provided by the framework.
Rails is a similar framework, just built on Ruby. Theoretically you could create a web app in just Python or just Ruby without the framework, but it would be a pain to rebuild all those tools from scratch.
Front-end frameworks do not do the same things as back-end frameworks, and indeed, sometimes one front-end framework doesn't do the same things as a different front-end framework.
Web developers use 'front-end' and 'back-end' frameworks for handling two different types of interaction with the user.
django can do both frontend as well as backend.
Unless I dramatically misunderstand Django's abilities, it cannot create dynamic in-page interactions such as modal pop-ups, live editing, etc. It can render HTML, yes; but it cannot make any text you type into the text box also appear on the page simultaneously.
Back-end frameworks such as Django, Rails, or Symphony are used to handle idempotent browser requests and HTTP calls. You load a page, the framework inspects the url that you have requested and builds the entirety of the page, piece by piece, and returns the whole thing to the browser. (APIs too)
There are some exceptions to this, but in general when you "navigate" around the internet, "back-end" systems are handling those requests. When you see the URL change and the whole browser window whites out for a moment, that is this type of navigation.
"Front-end" frameworks are more important for handling in-page user interactions. Things like modal pop-ups, loading more data via AJAX without loading a new page, submitting a form and displaying a message without redirecting, hover effects.