[PYTHON] Comment déployer une application Django sur heroku en seulement 5 minutes

J'ai écrit l'article en me référant au document officiel ci-dessous. https://devcenter.heroku.com/articles/getting-started-with-django#declare-process-types-with-procfile

Environnement de travail

Conditions préalables

  1. Avoir un compte heroku
  2. heroku toolbelt doit être installé
  3. virtualenv est installé

Présentation de PostgreSQL

Installation

$ brew install postgresql

Passez le chemin (~ / .bash_profile)

export PATH=/usr/local/Cellar/postgresql/9.4.1/bin:"$PATH"

Redémarrer le terminal

Construire un environnement Django

** Créer et déplacer le répertoire de gestion des applications **

$ mkdir hellodjango && cd hellodjango

** Créez un environnement virtuel avec venv et démarrez-le **

$ virtualenv venv
$ source venv/bin/activate

** Téléchargez un ensemble de bibliothèques liées à Django **

$ pip install django-toolbelt

** Création de projet Django **

$ django-admin.py startproject hellodjango .

** Créez un fichier Proc et décrivez le contenu suivant **

web: gunicorn hellodjango.wsgi --log-file -

** Démarrer le serveur local **

$ foreman start
21:21:26 web.1  | started with pid 5513
21:21:26 web.1  | [2015-05-10 21:21:26 +0900] [5513] [INFO] Starting gunicorn 19.3.0
21:21:26 web.1  | [2015-05-10 21:21:26 +0900] [5513] [INFO] Listening at: http://0.0.0.0:5000 (5513)
21:21:26 web.1  | [2015-05-10 21:21:26 +0900] [5513] [INFO] Using worker: sync
21:21:26 web.1  | [2015-05-10 21:21:26 +0900] [5516] [INFO] Booting worker with pid: 5516

OK si vous pouvez accéder à http://0.0.0.0:5000

Créer un fichier requirements.txt représentant les dépendances pip

$ pip freeze > requirements.txt

Paramètres Django

** Ajoutez le contenu suivant à la fin de settings.py **

# Parse database configuration from $DATABASE_URL
import dj_database_url
DATABASES['default'] =  dj_database_url.config()

# Honor the 'X-Forwarded-Proto' header for request.is_secure()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

# Allow all host headers
ALLOWED_HOSTS = ['*']

# Static asset configuration
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

** Réécrire wsgi.py avec le contenu suivant **

import os
from django.core.wsgi import get_wsgi_application
from dj_static import Cling

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hellodjango.settings")

application = Cling(get_wsgi_application())

gestion des versions de git

** Créez un fichier .gitignore et ajoutez le contenu suivant **

venv
*.pyc
staticfiles

** Ajouter au référentiel **

$ git init
$ git add .
$ git commit -m "my django app"

Déployer sur heroku

** Créer un référentiel dans heroku **

$ heroku create

** Déployer l'application sur heroku **

$ git push heroku master

** Définissez le nombre de dynamo **

$ heroku ps:scale web=1

** Vérifier depuis le navigateur **

$ heroku open

OK si l'écran suivant apparaît!

Welcome_to_Django.png

Recommended Posts

Comment déployer une application Django sur heroku en seulement 5 minutes
Comment déployer une application Django dans le cloud Alibaba
Comment déployer une application Web créée avec Flask sur Heroku
Déployer l'application Django sur Heroku [Partie 2]
Déployer l'application Django sur Heroku [Partie 1]
Comment développer une application de panier avec Django
Comment créer une API Rest dans Django
Je souhaite télécharger une application Django sur heroku
Déployer des applications Web Python 3.6 / Django / Postgres sur Azure
Un mémorandum sur l'utilisation de keras.preprocessing.image de Keras
Déployer l'application Django sur Google App Engine (Python3)
Déployer l'application Masonite sur Heroku 2020
Comment créer un environnement Django (python) sur Docker
Comment utiliser Django avec Google App Engine / Python
Déployer l'application Django créée avec PTVS sur Azure
Déployer le projet django sur heroku
Comment exécuter Django sur IIS sur un serveur Windows
Comment référencer des fichiers statiques dans un projet Django
Déployer une application Web créée avec Streamlit 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
Remarques sur la façon de charger un environnement virtuel avec PyCharm
Comment générer une requête à l'aide de l'opérateur IN dans Django
Déployer l'application Django sur Heroku
Comment déployer django-compresseur sous Windows
Implémenter l'application Django sur Hy
Comment refléter CSS dans Django
Déployer l'application Flask sur heroku (amer)
Déployez l'application Flask sur Heroku
Déployez l'application Flask sur heroku
Déployez Django en 3 minutes à l'aide de docker-compose
Comment déployer une application Web sur Alibaba Cloud en tant que pigiste
Comment supprimer des sessions expirées dans Django
Comment obtenir stacktrace en python
Comment tester sur une page authentifiée par Django
Comment faire des événements envoyés par le serveur dans Django
Jusqu'à ce que vous déployez un projet SpringBoot dans Gradle avec App Engine Flexible
Créez une application Django sur Docker et déployez-la sur AWS Fargate
Pour trouver le nom de la vue avec l'espace de noms à partir de l'URL (path_info) dans Django
Django Heroku Deploy 1
Django Heroku Deploy 2
Comment effacer un taple dans une liste (Python)
Comment implémenter la fonctionnalité de type helper Rails dans Django
Comment incorporer des variables dans des chaînes python
Publication du projet django développé dans Cloud9 sur heroku
Comment refléter ImageField dans Django + Docker (oreiller)
Activez Django https en quelques lignes
Comment déployer une application Streamlit sur GCP (GAE)
Créez un environnement Django avec Vagrant en 5 minutes
Comment implémenter un sélecteur de dégradé dans Houdini
Comment notifier les canaux Discord en Python
Comment vivre une vie décente avec Windows 2017
Procédure de création d'application multi-plateforme avec kivy
[Python] Comment dessiner un histogramme avec Matplotlib
Jusqu'à ce que vous créiez une nouvelle application dans Django
Comment écrire un document tuple nommé en 2020
Comment compter les nombres dans une plage spécifique
Comment lire des fichiers dans différents répertoires