Introduction:
Most of you would’ve already seen n number of blogs on how to deploy Django projects to Heroku but in this article, I shall explain in simple words in a sequential manner without much confusion.
We shall consider a simple project without any additional boiler plate code. I shall call the project as mysite and app as appOne.
I shall start from scratch and attach this repository at the end of this tutorial.
For Linux Users:
python3 -m venv Environ source Environ/bin/activate python -m pip install django
For Windows Users:
python -m venv Environ cd Environ/Scripts/ activate cd ../../
Configuring Django
Continuing this:
django-admin startproject mysite cd mysite django-admin startapp appOne
This is how your tree will look after running those commands successfully :
mysite │ manage.py │ ├───appOne │ │ admin.py │ │ apps.py │ │ models.py │ │ tests.py │ │ views.py │ │ __init__.py │ │ │ └───migrations │ __init__.py │ └───mysite asgi.py settings.py urls.py wsgi.py __init__.py
Steps to launch and deploy the project to Heroku:
Step One:
from pathlib import Path import os BASE_DIR = Path(__file__).resolve().parent.parent SECRET_KEY = os.environ.get('SECRET_KEY') DEBUG = os.environ.get('DEBUG') ALLOWED_HOSTS = []
Once you've created the Django project, please add the security key to your Environment secrets and Config Vars.
Step Two:
We don’t have any static files for this project, but if needed you can use whitenoise.
MIDDLEWARE = [ 'whitenoise.middleware.WhiteNoiseMiddleware', ] STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
In config vars set DEBUG_COLLECTSTATIC = 1.
Step Three:
After configuring the project, we'll now be freezing the requirements and Procfile
pip freeze>requirements.txt
Procfile:
web: manage.py makemigrations && manage.py migrate web: gunicorn mysite.wsgi:app
Step Four:
Commit all these files to your git repository and push it to your source .
I’ll be using GitHub for this tutorial
git init . git add . git commit -m “Initial Commit🚀” git remote add origin <link> git push -u origin master
Step Five:
Go to dashboard and deploy
It should be working fine! Feel free to reach out if there are any issues.
View the deployment here at: https://testing-repos.herokuapp.com/
Repository at: https://github.com/AbhijithGanesh/Tutorial-for-Heroku
Top comments (0)