Should I always use virtualenvs in Django?
No. It's not mandatory to use virtualenvs but it might help.
I think you need to understand what virtualenvs does and when to use it.
What virtualenvs does is creating an isolated environment(for example, a django project) from others.
It's not just a Django component. It can be used for other projects as well. 
Let's assume that there are two different projects, A and B. It doesn't matter if they are Django projects.
In project A, you might want to use python module AAA(version 1.00). And in project B, you also want to use python module AAA(version 2.00). Both use the same module but their versions are different.
In those cases you can use virtualenvs to create two different environments and isolate those. And install AAA version 1.0, AAA version 2.0 in those environment respectively.
When people start a new project, it's very natural and common to create a new isolated environment only for it. Then it would be easy to move the project to another computer or recreate exactly the same environment in other machines. Also it won't be affected by other previously installed modules or configuration. If there are other modules before your project might work differently and you might not find that until you deploy. 
So it's not mandatory but using it is a good practice.
Also there are many tools for creating an isolated environment in different layers like Conda, Docker etc... Take a look at those as well.
I'm a beginner, and I'm learning Django for web development. So I want to know for my little test, should in always have a virtualenv or can I continue to learn without installing it? I've asked because in youtube Django videos, some instructors are installing it, and others aren't.