Tutorials References Exercises Videos Menu
Create Website Get Certified Upgrade

Deploy Django - Create Requirements


Lock in Dependencies

When you create a Django application, there are some Python packages that your project depends on.

Django itself is a Python package, and we have to make sure that the server where we deploy our project also has the Django package installed, and all the other packages your project requires.

Luckily there is a command for this as well, just run this command in the command view:

py -m pip freeze > requirements.txt

The result of the above command, is a file called requirements.txt being created in the project:

my_tennis_club
    members/
    my_tennis_club/
    mystaticfiles/
    productionfiles/
    db.sqlite3
    manage.py
    requirements.txt

The file contains all the packages that this project depends on: with this content:

my_tennis_club/requirements.txt:

asgiref==3.5.2
Django==4.1.4
psycopg2-binary==2.9.5
sqlparse==0.4.3
tzdata==2022.7
whitenoise==6.2.0

Note: You can create this file on your own, and insert the packages manually, just make sure you get all the packages your project depends on, and you must name the file requirements.txt.

Now the hosting provider knows which packages to install when we deploy our project.

But Elastic Beanstalk needs more information, go to the next chapter to create an "EB" config file.