Création de site internet pas cher

Contactez nous

Déploiement d'une application sur Héroku

Déploiement d’une application Django sur Héroku

Tuto pour le déploiement d’une application Django sur Héroku

Déploiement d’une application Django sur Héroku partie:1

Pour commencer le déploiement d’une application Django sur Héroku dans le fichier setting.py vous déclarez la variable debug à false ou vous créez une variable ENV et assigner lui la valeur PRODUCTION:

if os.environ.get('ENV') == 'PRODUCTION':
DEBUG = False
else:
DEBUG = True

Déploiement d'une application sur Héroku

Vous créez un répertoire static dans le dossier du projet avec la commande:

$ mkdir votre-project/static

Déploiement d'une application sur Héroku

Puis dans setting.py vous ajoutez les lignes suivantes :

if os.environ.get('ENV') == 'PRODUCTION':

    # Static files settings
    PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))

    STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles')

    # Extra places for collectstatic to find static files.
    STATICFILES_DIRS = (
        os.path.join(PROJECT_ROOT, 'static'),
    )
Déploiement d'une application sur Héroku

Puis vous installez la librairie WhiteNoise pour avoir accès aux fichiers statiques en production :

$ pip install whitenoise

Déploiement d'une application sur Héroku

Vous modifiez setting.py pour l’utilisation de WhiteNoise :

MIDDLEWARE = [
    # ...
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
    # ...
]

if os.environ.get('ENV') == 'PRODUCTION':
    # ...
    # Simplified static file serving.
    # https://warehouse.python.org/project/whitenoise/
    STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

Ensuite exportez la base de données dans un fichier votrefichier.json:

créer un dossier dumps dans votre application

$ ./manage.py dumpdata votreapp > votreapp/dumps/votrefichier.json

Vous installez la librairie Database-URL:

$ pip install dj-database-url

Dans setting.py vous ajoutez:

import dj_database_url

if os.environ.get('ENV') == 'PRODUCTION':
# …
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)

Déploiement d'une application sur Héroku

Choisir le nom de votre application Django dans setting.py en modifiant la variable ALLOWED_HOSTS :

ALLOWED_HOSTS = ['nomdevotreapp.herokuapp.com']

Création d’un fichier runtimes.txt

À la racine du projet, vous créez le fichier et y inclure la version de python utilisé pour le projet. 

Vous pouvez trouver votre version avec la commande :

$ python -V

Ensuite vous installez gunicorn avec la commande:

$ pip install gunicorn

Vous créez un fichier requirements.txt à  la racine du projet avec la commande:

$ pip freeze > requirements.txt

Cela inclura dedans tous les packages utilisé pour faire tourner l’app

Et vous créez un fichier Procfile à la racine du projet sans extension et y ajouté:

web: gunicorn nomdevotreapp.wsgi

Vous générez une nouvelle clé secrète avec la console Python :

gardez la nouvelle clé secrète pour plus tard

$ python

import random, string
"".join([random.choice(string.printable) for _ in range(24)])
'-~aO;| F;rE[??/w^zcumh(9'

Initialisez git pour le suivie avec Héroku avec la commande:

$ git init

Déploiement d’une application Django sur Héroku partie:2

À la racine de votre projet installer Heroku avec la commande :

$sudo snap install heroku -- classic

Se connecter à son compte Heroku avec la commande:

$heroku login

Suivre les instructions et accepter la connexion à votre compte

Déploiement d'une application sur Héroku
Déploiement d'une application sur Héroku

Création de l’app avec la commande en indiquant un nom :

$heroku create nomDeApp

Ou en laissant Heroku choisir le nom avec celle-ci:

$ heroku create

Vous enregistrez la nouvelle clé secrète défini plus haut avec la commande:

$ heroku config:set SECRET_KEY="votre-clé-secrète"

Ensuite vous passez la variable ENV en production:

$ heroku config:set ENV=PRODUCTION

Après vous envoyez les fichiers sur Héroku:

$ git push heroku master 

Vous effectuez les migrations avec la commande:

$ heroku run python manage.py migrate

Ensuite vous créez un administrateur en remplissant les champs avec la commande :

$ heroku run python manage.py createsuperuser

Vous importez votre base de données :

$ heroku run python manage.py loaddata votreapp/dumps/votrefichier.json

C’est terminer pour déploiement d’une application Django sur Héroku votre application et en ligne 🙂

Aucun commentaire

Ajoutez votre commentaire

Nous utilisons des cookies pour personnaliser le contenu et les publicités, pour fournir des fonctionnalités de médias sociaux et pour analyser notre trafic. Nous partageons également des informations sur votre utilisation de notre site avec nos partenaires de médias sociaux, de publicité et d'analyse. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Qui sommes-nous ?

Nicolas Turck Siren: 798 575 684 email: 1site1ternet@gmail.com « TVA non applicable, article 293B du CGI » L’adresse de notre site est : https://www.1site1ternet.fr

Commentaires

Quand vous remplissez un formulaire sur notre site, les données inscrites dans le formulaire , mais aussi votre adresse IP et l’agent utilisateur de votre navigateur sont collectés pour nous aider à la détection des commentaires indésirables.

Cookies

Si vous remplissez un formulaire sur notre site, il vous sera proposé d’enregistrer votre nom, adresse e-mail dans des cookies. C’est uniquement pour votre confort afin de ne pas avoir à saisir ces informations si vous remplissez un autre formulaire plus tard. Ces cookies expirent au bout d’un an.

Contenu embarqué depuis d’autres sites

Les articles de ce site peuvent inclure des contenus intégrés (par exemple des vidéos, images, articles…). Le contenu intégré depuis d’autres sites se comporte de la même manière que si le visiteur se rendait sur cet autre site. Ces sites web pourraient collecter des données sur vous, utiliser des cookies, embarquer des outils de suivis tiers, suivre vos interactions avec ces contenus embarqués si vous disposez d’un compte connecté sur leur site web.

Utilisation et transmission de vos données personnelles

Vos données servent essentiellement à la prise de contact

Durées de stockage de vos données

Pour les comptes qui s’inscrivent sur notre site (le cas échéant), nous stockons également les données personnelles indiquées dans leur profil. Tous les comptes peuvent voir, modifier ou supprimer leurs informations personnelles à tout moment (à l’exception de leur identifiant). Les gestionnaires du site peuvent aussi voir et modifier ces informations.

Les droits que vous avez sur vos données

si vous avez rempli un formulaire sur le site, vous pouvez demander la suppression des données personnelles vous concernant. Cela ne prend pas en compte les données stockées à des fins administratives, légales ou pour des raisons de sécurité. [cmplz-document type="cookie-statement" region="eu"]
Save settings
Cookies settings