But why? Out of the box you have build-in backends for Django Template Language (and Jinja2 as an alternative). Django’s own template system is really powerful, and for many years it was more than enough in terms of building websites.
Virtual environments can be described as isolated installation directories. They allow you to localize the installation of your project’s dependencies, without forcing you to install them system-wide. You can have multiple environments, with multiple sets of packages, without conflicts among them. This way, different projects’ requirements can be satisfied at the same time.
You might have used Git before as a version control software, by which you can maintain multiple versions of your code. But often it’s used for much more than that. Many will use it not only for versioning and collaboration, but also for deploying their code from their local machines to server (testing or production).