[PYTHON] Déployer l'application Django sur Heroku

Aperçu



Créer une application avec Heroku

terminal@répertoire racine de l'application django


heroku login

# Create app 
# Memo:Ajouter un référentiel distant(Suivant)Exécute également
#       git remote add heroku [email protected]:{app-name}.git 
heroku create {app-name}  


Utilisation de .env dans Heroku

.env

root/.env


SECRET_KEY = ooooooooooooooooooooooooooooooooo
DJANGO_SETTINGS_MODULE = fitmod.settings.local

install ”heroku-config”

terminal


# .installer le plug-in pour env
heroku plugins:install heroku-config
#Reflété dans les variables d'environnement de Heroku
heroku config:push

Définir des variables d'environnement dans Heroku pour spécifier les paramètres de l'environnement de production

terminal


heroku config:set DJANGO_SETTINGS_MODULE = {app-name}.settings.{settings-file name for product}


Création des fichiers nécessaires au déploiement

Procfile

Installer gunicorn

terminal


install gunicorn
Création de Procfile
web: python manage.py collectstatic --noinput ; gunicorn note_to_self.wsgi --log-file -

runtime.txt

root/runtime.txt


python-{version python}
# Ex.) python-3.8.0

wsgi.py

terminal


pip install dj-static

root/project/wsgi.py


import os

from django.core.wsgi import get_wsgi_application
from dj_static import Cling  #ajouter à
from dotenv import load_dotenv

load_dotenv('.env')
DJANGO_SETTINGS_MODULE = os.getenv("DJANGO_SETTINGS_MODULE")

os.environ.setdefault('DJANGO_SETTINGS_MODULE', DJANGO_SETTINGS_MODULE)
application = Cling(get_wsgi_application())  # Cling()Ajouter


Paramètres lors de l'utilisation de PostgreSQL

install

#DB pour Heroku PostgreSQL-Installation d'une bibliothèque qui gère les URL.
python -m pip install dj_database_url psycopg2

# PostgrSQL Add-à l'installation
heroku addons:create heroku-postgresql:hobby-dev

usage

settings/production.py


#
import dj_database_url

# Setting PostgreSQL To Heroku 
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'fitmod',
        'USER': 'name',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '',
    }
}
#Bas
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)

requirements.txt

terminal


pip freeze > requirements.txt

Déploiement et paramètres Django

tarminal


# Deploy
git push heroku master

migrate, createsuperuser

terminal


heroku run python manage.py migrate
heroku run python manage.py createsuperuser


requirements.txt

asgiref==3.2.7
dj-database-url==0.5.0
dj-static==0.0.6
Django==3.0.5
gunicorn==20.0.4
psycopg2==2.8.5
python-dotenv==0.13.0
pytz==2020.1
sqlparse==0.3.1
static3==0.7.0

Recommended Posts

Déployer l'application Django sur Heroku
Django Heroku Deploy 1
Django Heroku Deploy 2
Déployer l'API Django avec heroku (mémo personnel)
Déployer l'application Django sur Heroku [Partie 2]
Déployer l'application Django sur Heroku [Partie 1]
Déployer l'application Masonite sur Heroku 2020
Installez Django sur Mac
Déployer le projet django sur heroku
Déployer l'application Django sur Google App Engine (Python3)
Enregistrer l'application Django dans le projet
Déployer l'application Django avec Docker
python + django + scikit-learn + mecab (1) avec heroku
python + django + scikit-learn + mecab (2) avec heroku
Page DJango publiée sur heroku: Practice
Déployer l'application Flask sur heroku (amer)
Déployez l'application Flask sur Heroku
Déployez l'application Flask sur heroku
Déployer l'application Django sur EC2 avec Nginx + Gunicorn + Supervisor
Blog Django sur heroku: implémentation de la connexion
Comment déployer une application Django sur heroku en seulement 5 minutes
Lancez l'application Flask avec Docker sur Heroku
Redis sur Heroku
shimehari sur heroku
Créez une application Django sur Docker et déployez-la sur AWS Fargate
Jusqu'à ce que l'application Web créée avec Bottle soit publiée (déployée) sur Heroku
Jusqu'à ce que l'application Django (+ MySQL) soit publiée sur AWS EC2 (+ RDS (+ S3))
Publication du projet django développé dans Cloud9 sur heroku
Déployer des applications Django sur Ubuntu + Nginx + MySQL (Build)
Déployer des applications Web Python 3.6 / Django / Postgres sur Azure
mémo de déploiement heroku (Django)
Initialiser l'application Django
Notes de céleri sur Django
Exécutez Django sur PythonAnywhere
Publiez votre application Django sur Amazon Linux + Apache + mod_wsgi
Mémo de déploiement de Django × Postgresql sur Docker vers Heroku
Page DJango publiée sur heroku: Préparation mon point addictif
Authentification unique à l'application Django avec AWS SSO
Hello World avec Django
Déployer l'application Django créée avec PTVS sur Azure
Notes diverses sur le déploiement de l'application django sur Heroku
Ne perdez pas contre Ruby! Comment exécuter Python (Django) sur Heroku
Comment déployer Pybot, le manuel Python le plus simple, sur Heroku
(Échec) Déployer une application Web créée avec Flask avec heroku
Déployer des applications Go sur Google App Engine avec des actions GitHub
Pour déployer des applications Java sur VPS (installation / liaison Apache / Tomcat)
Déployer Django sans serveur avec Lambda
[Django] Remarques sur l'utilisation de django-debug-toolbar
Installez numba sur Mac
Créer une application Web avec Django
Développement de l'environnement Django sur Windows 10
Créez votre propre middleware Django
Renommer une application Django existante
Hello World (débutant) avec Django
Comment déployer une application Web sur Alibaba Cloud en tant que pigiste
Lancement d'une application Web sur AWS avec django et modification des tâches