How to Install Django (2023)

  • By Will Vincent
  • Jan 31, 2023

This tutorial covers how to properly install the latest version of Django (4.1) and Python (3.11).

As the official docs note, if you are already familiar with the command line, have already installed the latest version of Python properly, and correctly configured a new dedicated virtual environment, then installing Django can be as simple as running python -m pip install Django from the command line.

(.venv) $ python -m pip install Django

But even then there is some nuance involved and best practices you should know about such as requirement.txt files, Git, and customizing a text editor for Python/Django work. This guide will explain all these concepts and provide step-by-step instructions so your computer is properly configured for Django development. In the future, creating or modifying Django projects should require only a few keystrokes.

The Command Line

The Command Line is a text-only interface for your computer. Most everyday users will never need it but software developers rely on it constant to install and update software, use tools like Git for version control, connect to servers in the cloud, and so on.

On Windows, the built-in options is called PowerShell. To access it, locate the taskbar on the bottom of the screen next to the Windows button and type in "powershell" to launch the app.

This will open a new window with a dark blue background and a blinking cursor after the > prompt. Here is how it looks on my computer, where my current user is named wsv. Your user name will be different.

PS C:\Users\wsv>

On macOS, you can access the Command Line through a built-in app called Terminal. It can be opened via Spotlight: press the Command and space bar keys at the same time and then type in "terminal."

Alternatively, open a new Finder window, navigate to the Applications directory, scroll down to open the Utilities directory, and double-click the application called Terminal.

(Video) 🔴 How to Install Django on Windows 10 | Django 4.0 | 2022

Once open, the Terminal app consists of a white background by default and a blinking cursor after the % prompt which shows the current user's name (mine is wsv here).

Wills-Macbook-Pro:~ wsv%

Note: Going forward we will use the universal $ Unix prompt for all commands rather than alternating between > on Windows and % on macOS.

Install Python

The next step is to properly install the latest version of Python (3.11 as of this writing) on your computer.

On Windows, Microsoft hosts a community release of Python 3 in the Microsoft Store. In the search bar on the bottom of your screen type in "python" and click on the best match result. This will automatically launch Python 3.11 on the Microsoft Store. Click on the blue "Get" button to download it.

To confirm Python was installed correctly, open a new Terminal window with PowerShell and then type python --version.

$ python --versionPython 3.11.1

Then type python to open the Python interpreter from the command line.

$ pythonPython 3.11.1 (tags/v3.11.1:a7a450f, Dec 6 2022, 19:58:39) [MSC v.1934 64 bit (AMD64)] on win32Type "help", "copyright", "credits", or "license" for more information.>>>

On macOS, the official installer on the Python website is the best approach. Go to the Python downloads page and click on the button underneath the text "Download the latest version for Mac OS X." As of this writing, that is Python 3.11. The package will be in your Downloads directory. Double click on it which launches the Python Installer and follow through the prompts.

(Video) How to install Django (Python 3.10) on Windows 11

To confirm the download was successful, open up a new Terminal window and type python3 --version.

$ python3 --versionPython 3.11.1

Then type python3 to open the Python interpreter.

$ python3Python 3.11.1 (v3.11.1:a7a450f84a, Dec 6 2022, 15:24:06) [Clang 13.0.0 (clang-1300.0.29.30)] on darwinType "help", "copyright", "credits" or "license" for more information.>>>

To exit Python from the command line you can type either exit() and the Enter key or use Ctrl + z on Windows or Ctrl + d on macOS.

Virtual Environments

By default, Python and Django are installed globally on a computer meaning. If you went to your command line right now and typed python -m pip install Django then Django would be installed on your computer. But what happens if you need Django 3.0 for one project and Django 4.1 for another? Not to mention, most projects rely on dozens of different software packages that all have different versions. It quickly becomes a mess.

Fortunately there is an easy solution: virtual environments. Virtual environments allow you to create and manage separate environments for each Python project on the same computer. There are many areas of software development that are hotly debated, but using virtual environments for Python development is not one. You should use a dedicated virtual environment for each new Python project.

There are several ways to implement virtual environments but the simplest is with the venv module already installed as part of the Python standard library. To try it out, open the command line. Then navigate to the Desktop directory on your computer with the cd command, create a new directory with the mkdir command called tutorial, and then change directories, cd, into it.

# Windows$ cd onedrive\desktop\$ mkdir tutorial$ cd onedrive\desktop\tutorial# macOS$ cd ~/desktop/$ mkdir tutorial$ cd ~/desktop/tutorial

To create a virtual environment within this new directory use the format python -m venv <name_of_env> on Windows or python3 -m venv <name_of_env> on macOS. It is up to the developer to choose a proper environment name but a common choice is to call it .venv.

(Video) Python Django Tutorial for Beginners

# Windows$ python -m venv .venv# macOS$ python3 -m venv .venv

Once created, a virtual environment must be activated. On Windows, as a safety precaution, an Execution Policy must be set to enable running scripts. This is a one-time procedure that basically tells Windows, Yes I know what I'm doing here. The Python docs recommend allowing scripts for the CurrentUser only, which is what we will do. On macOS there are no similar restrictions on scripts so it is possible to directly run source .venv/bin/activate.

Here is what the full commands look like to create and activate a new virtual environment called .venv:

# Windows$ python -m venv .venv$ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser$ .venv\Scripts\Activate.ps1(.venv) $# macOS$ python3 -m venv .venv$ source .venv/bin/activate(.venv) $

The shell prompt now has the environment name (.venv) prefixed which indicates that the virtual environment is active. Any Python packages installed or updated within this location will be confined to the active virtual environment.

To deactivate and leave a virtual environment type deactivate. Do that now.

(.venv) $ deactivate$

The shell prompt no longer has the virtual environment name prefixed which means the session is now back to normal.

Install Django

Now that we are familiar with the command line, have installed the latest version of Python, and understand how to work with virtual environments we can finally install Django. Here is what the commands look like to install Django in a new directory.

First, from the command line navigate again to the Desktop, create a new directory called success, and navigate into it.

(Video) #2 Django tutorials | Setup

# Windows$ cd onedrive\desktop\$ mkdir success$ cd onedrive\desktop\success# macOS$ cd ~/desktop/$ mkdir success$ cd ~/desktop/success

Second, create and activate a new virtual environment in the directory.

# Windows$ python -m venv .venv$ .venv\Scripts\Activate.ps1(.venv) $# macOS$ python3 -m venv .venv$ source .venv/bin/activate(.venv) $

And third, install Django itself now.

# Windows(.venv) $ python -m pip install django~=4.1.0# macOS(.venv) $ python3 -m pip install django~=4.1.0

Django Homepage

To ensure Django is working correctly, create a new project called django_project and then type python runserver to start the local Django web server.

(.venv) $ django-admin startproject django_project .(.venv) $ python runserver

In your web browser navigate to and you should see the Django Welcome Page.

How to Install Django (1)


Congratulations! You've learned about the Command Line, installed Python, created virtual environments, and properly installed Django. You're well on your way to using Django to built powerful websites.

(Video) How to Install Python, PIP and Django on Windows in 10 Minutes | Django Tutorials

For even more tips and advice, check out the book Django for Beginners which walks you through building, testing, and deploying five increasingly complex projects with Django.


What does {% include %} do? ›

The include tag allows you to include a template inside the current template. This is useful when you have a block of content that is the same for many pages.

Why is Django so hard to learn? ›

Django is not the easiest tool to learn. It requires a strong foundational knowledge of Python and particularly good familiarity with classes and Object-Oriented Programming.

How many days will it take to learn Django? ›

As with any skill, learning how to master Django takes time and practice. If you already know Python and are familiar with technical concepts like terminology authentication, URL routing and API, you may be able to learn all you need to use Django in as little as two to three weeks.

How to improve performance of Django application? ›

Optimize your Django application for better performance
  1. Reduce the number of queries and optimize them. ...
  2. Go async wherever possible. ...
  3. Don't repeat yourself. ...
  4. Cache your predictable data. ...
  5. Focus on your database architecture. ...
  6. Keep your code clean. ...
  7. Conclusion:
Oct 1, 2021

What is getch () for? ›

getch() method pauses the Output Console until a key is pressed. It does not use any buffer to store the input character. The entered character is immediately returned without waiting for the enter key.

What is the main () in C? ›

Every C program has a primary function that must be named main . The main function serves as the starting point for program execution. It usually controls program execution by directing the calls to other functions in the program.

Why did Will Smith reject Django? ›

Will Smith Turned Down Django Unchained So It Wouldn't Affect His Kids. In the latest episode of Red Table Talk, the actor recalled speaking to his three children about starring as an enslaved man in Quentin Tarantino's divisive film.

Can I learn Django in a week? ›

For students who thoroughly understand Python coding fundamentals, learning Django can take as little as one week.

What is the hardest coding language to learn? ›

Haskell. The language is named after a mathematician and is usually described to be one of the hardest programming languages to learn. It is a completely functional language built on lambda calculus. Haskell supports shorter code lines with ultimate code reusability that makes the code understanding better.

What is the average salary of Django developer? ›

Average Annual Salary by Experience

Django Developer salary in India with less than 1 year of experience to 4 years ranges from ₹ 1.2 Lakhs to ₹ 8.5 Lakhs with an average annual salary of ₹ 3 Lakhs based on 282 latest salaries.

What is the salary of Django developer? ›

Junior Python/Django Developer salary in India ranges between ₹ 0.9 Lakhs to ₹ 11.1 Lakhs with an average annual salary of ₹ 3.5 Lakhs.

Do professionals use Django? ›

Django is a Python-based web framework giving developers the tools they need for rapid, hassle-free development. You can find that several major companies employ Django for their development projects. Here are 9 global companies using Django: Instagram.

Is Django getting outdated? ›

There is a future at least 10 years out. No django dev is becoming obsolete for at least a decade. We are literally just entering the era of python.

Is Django good for large applications? ›

Django is a great choice for projects that handle large volumes of content (e.g., media files), user interactions or heavy traffic, or deal with complex functions or technology (e.g., machine learning). Yet it is simple enough for smaller-scale projects, or if you intend to scale your project.

Is PyCharm better for Django? ›

One of the features of PyCharm is that it includes a support for Django. With the ability of including JavaScript features within PyCharm, it can be considered as the best IDE for Django. If the EnableDjangoadmin option is enabled, PyCharm will setup the admin site for you.

What is Getch () and Clrscr ()? ›

clrscr() – This function is used to clear the previous output from the console. printf() – The printf() function is used to print data which is specified in the brackets on the console. getch() – This function requests for a single character. Until you press any key it blocks the screen.

Is Getch still used? ›

getch | Microsoft Learn. This browser is no longer supported.

Is getch () necessary? ›

N getch() is not compulsory in C. It is use to get input from keyboard without pressing enter key. If you use it at the end of your program, then your running program will wait for a character before the termination of execution.

What is main () in Python? ›

In Python, the role of the main function is to act as the starting point of execution for any software program. The execution of the program starts only when the main function is defined in Python because the program executes only when it runs directly, and if it is imported as a module, then it will not run.

What is void in C? ›

When used as a function return type, the void keyword specifies that the function doesn't return a value. When used for a function's parameter list, void specifies that the function takes no parameters. When used in the declaration of a pointer, void specifies that the pointer is "universal."

How are static function different from global function? ›

Unlike global functions in C, access to static functions is restricted to the file where they are declared. Therefore, when we want to restrict access to functions, we make them static. Another reason for making functions static can be reuse of the same function name in other files.

Did Django fight in the Civil War? ›

Django is a 1966 Spaghetti Western directed by Sergio Corbucci starring Franco Nero as Django; a dismissed Union soldier who fought in the American Civil War.

Did Leonardo DiCaprio accidentally cut himself in Django? ›

In a big monologue from this character, he cut his hand and filmed the whole thing while bleeding profusely. As DiCaprio recalled to The Hollywood Reporter, while cutting himself obviously hurt, it gave the scene a particular edge it didn't have before. “My hand started really pouring blood all over the table.

Is Django Unchained disrespectful? ›

In recent weeks Django has faced criticism for its use of racist language and its cavalier treatment of explosive material. Director Spike Lee claims the film is "disrespectful to my ancestors" and has refused to see the thing on principle.

How many hours should I study coding everyday? ›

It is very hard to estimate how many hours you should code each day. Some people suggest to keep it short and sweet. 15 minutes is good enough. On the other side of the spectrum, I've also heard people got into the development field within a year or so by coding 9 or 10 hours a day.

How many hours a day learn coding? ›

On average, you should spend about 2 – 4 hours a day coding. However, efficient coding practice isn't really about the depth of time spent writing or learning codes but rather benchmarked on the individual's consistency over a given time.

How many hours a week should I practice coding? ›

Just put enough time into your pursuit so that you can make some decent progress each week. We'd recommend somewhere between five and 15 hours per week. If your goal is “learn to code” in a general sense, it can feel overwhelming, and it's almost impossible to know when you've succeeded.

What is the number 1 coding language? ›

As per the latest statistics, Python is the main coding language for around 80% of developers. The presence of extensive libraries in Python facilitates artificial intelligence, data science, and machine learning processes. Currently, Python is trending and can be regarded as the king of programming languages.

Whats the easiest coding? ›

The 5 Easiest Programming Languages
  • HTML and CSS. HTML, which stands for HyperText Markup Language, is one of the most common programming languages for beginners, as it's often seen as the most straightforward programming language to learn. ...
  • JavaScript. ...
  • Python. ...
  • C, C++, and C# ...
  • Java.

Which coding language pays the most? ›

10 Highest-Paying Programming Languages in 2023
  • Objective-C. Average Base Salary: $125,247. ...
  • Kotlin. Average Base Salary: $130,497. ...
  • Ruby on Rails. Average Base Salary: $127,763. ...
  • Perl. Average Base Salary: $117,595. ...
  • C# Average Base Salary: $108,902. ...
  • Python. Average Base Salary: $116,394. ...
  • Java. Average Base Salary: $106,066. ...
  • Swift.
Dec 12, 2022

Will I get a job if I learn Django? ›

Yes. People have been using Django development to earn a living. So, if you intend to find a job as a Python Web Developer, the recommendation is to choose Django. The explosion of machine learning and 'Big Data' led to Python developers becoming even more popular.

What is the lowest salary for a programmer? ›

How Much Does a Computer Programmer Make? Computer Programmers made a median salary of $93,000 in 2021. The best-paid 25% made $122,600 that year, while the lowest-paid 25% made $62,840.

How much does a Django developer make an hour? ›

What are Django developers hourly rates expectations? As of April 2022, the average Django developer salary was $107,767 or $52 per hour.

Does Django have a future? ›

django-future is a Django application for scheduling jobs on specified times. django-future allows you to schedule invocation of callables at a given time. The job queue is stored in the database and can be managed through the admin interface. Queued jobs are run by invoking an external django management command.

Can I get a job at Google as a Django developer? ›

A computer scientist or someone otherwise proficient in programming practices and problem solving may get a job at Google. Django -- and your proficiency therein -- means next-to-nothing unless you're applying at a Django-specific workplace.

What is #include called and why? ›

#include is also known as a file inclusion directive. #include directive is used to add the content/piece of code from a reserved header file into our code file before the compilation of our C program. These header files include definitions of many pre-defined functions like printf(), scanf(), getch(), etc.

Why we are using include? ›

The #include preprocessor directive is used to paste code of given file into current file. It is used include system-defined and user-defined header files. If included file is not found, compiler renders error.

How does include work LaTeX? ›

LaTeX has three commands to insert a file into another when building the document.
\include does basically the following thing:
  1. It uses \clearpage before and after the content of the file. ...
  2. It opens a new . ...
  3. It then uses \input internally to read the file's content.
Jul 27, 2010

What is the difference between #include and #include? ›

The difference between the two types is in the location where the preprocessor searches for the file to be included in the code. #include<> is for pre-defined header files. If the header file is predefined then simply write the header file name in angular brackets.


1. Django Installation & Getting Started | Python Django Tutorials In Hindi #1
2. Install Django - Step By Step || How to install and run Django on Windows 10 in pyCharm-#Techmandu
3. How to Install Django on Windows 10
4. Install Django in 45 seconds [MacOS] {Tutorial}
(Code With Cavan)
5. How to Install and Use Django on Windows for Beginners
(Pretty Printed)
6. How To Create A Django Project - Installation, Setup And Virtual Environment
(Programming With Miko)
Top Articles
Latest Posts
Article information

Author: Msgr. Benton Quitzon

Last Updated: 11/10/2022

Views: 6372

Rating: 4.2 / 5 (43 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Msgr. Benton Quitzon

Birthday: 2001-08-13

Address: 96487 Kris Cliff, Teresiafurt, WI 95201

Phone: +9418513585781

Job: Senior Designer

Hobby: Calligraphy, Rowing, Vacation, Geocaching, Web surfing, Electronics, Electronics

Introduction: My name is Msgr. Benton Quitzon, I am a comfortable, charming, thankful, happy, adventurous, handsome, precious person who loves writing and wants to share my knowledge and understanding with you.