Deploy Django App on Pythonanywhere in a minute for Free

Subscribe to my newsletter and never miss my upcoming articles

Hello DevelopersπŸ‘¨β€πŸ’»,
Are you trying to move your Django website from localhost to public URL for free, yes you heard it right, now you can do this by following some steps.


  1. Make your Django Project with requirements.txt
  2. Upload Project to GitHub
  3. Deploy Project on pythonanywhere

Step 1: Make your Django Project with requirements.txt

  • Create your Django App
django-admin startproject deploy_on_pythonanywhere
  • Open project in your editor and under make:
    ALLOWED_HOSTS = ['*']
  • Create and Activate Virtual Environment Variable
    • for LINUX
      python3 -m venv env
      source env/bin/activate
    • for WINDOWS
      pip install virtualenv 
      virtualenv env
  • Creating requirements.txt
    • First install the dependencies of our project.
    • In this we have only one dependency which is Django, so let's install that
      pip install django
    • Navigate inside our project
      cd deploy_on_pythonanywhere
    • Create requirements.txt file using the command
      pip3 freeze > requirements.txt
    • File structure of our project looks like this:
      β”œβ”€β”€ db.sqlite3
      β”œβ”€β”€ deploy_on_pythonanywhere
      β”‚   β”œβ”€β”€
      β”‚   β”œβ”€β”€
      β”‚   β”œβ”€β”€ __pycache__
      β”‚   β”‚   β”œβ”€β”€ __init__.cpython-38.pyc
      β”‚   β”‚   β”œβ”€β”€ settings.cpython-38.pyc
      β”‚   β”‚   β”œβ”€β”€ urls.cpython-38.pyc
      β”‚   β”‚   └── wsgi.cpython-38.pyc
      β”‚   β”œβ”€β”€
      β”‚   β”œβ”€β”€
      β”‚   └──
      └── requirements.txt
  • Let's Start our Django Server
cd deploy_on_pythonanywhere
python3 runserver


yahooooo, your server is running on localhost.. πŸŽ‰πŸŽ‰
But wait, wait... that's not over, let's make it live for the world πŸ—ΊοΈ.

Step 2: Upload Project to GitHub

Step 3: Deploy Project on pythonanywhere

  • Create an account on pythonanywhere Click Here
  • After Register, you can see the page like this

Home Page

  • Now click on Console then select Bash you'll see like this


  • Type following commands on bash:

    • Clone GitHub repo
      git clone
    • Now create and setup environment variables
      python3 -m venv env #create virtual environment
      source env/bin/activate #activate virtual environment
      cd deploy_on_pythonanywhere #navigate inside your project 
      pip install -r requirements.txt #installing dependencies using requirements.txt
    • Now copy the path of your directories which you installed on bash
    • Type command on bash

      ls # get list of directories
      pwd #copy the path for future use

      Here it's looks like:

    • path

Hurree, we set up our project successfullyπŸ₯³πŸ₯³...
But wait wait, follow the final process and we're ready to go

  • Now click on Web then select Add a new web app

    • create web app
  • Click on next and follow the procedure

    • select django as the framework image.png
    • Select python3.8 (latest) and click on next next till last. image.png
    • Now under Web section open WSGI configuration file
    • Edit WSGI configuration file on line no. 12 and 17 remove the word mysite with your project name which you cloned from GitHub, in my case, it is deploy_on_pythonanywhere
    • Now it looks like this and then click on save:
    • Select Virtualenv section under Web:
    • Enter the path of Virtualenv as we created using bash (refer above pwd command for path)
    • Click on Reload under the Web section and visit the link image.png

    • 🎊🎊Yahhoooooooooo🎊🎊, we're live now 😎

No Comments Yet