PlanetHoster PlanetHoster host Your world

Installer Django sur World


Ce tutoriel vous montre comment installer une application de type Django sur un World account.

Préparation de l'application

Si ce n'est pas déjà fait, ajoutez une application Python via le World Panel. Nous recommandons d'utiliser la dernière version de Python compatible avec Django.

Pour plus d'informations : Langages > Python

Connexion SSH

Le reste des manipulations seront à faire en SSH. Si vous avez besoin d'aide pour vous connecter en SSH, allez sur la page suivante : Établir une connexion SSH.

Activer l'environnement Python

Pour avoir accès à l'environnement Python de l'application que vous venez de créer, il faut l'activer. Pour savoir comment trouver la commande, allez dans la section "SSH" de Langages > Python.

Une fois l'environnement actif, naviguez dans le dossier de votre application.

Par exemple:

Django

Afin d'utiliser Django, nous devons installer les dépendances Python pour rouler l'application. La commande suivante permet de le faire :

pip install Django


Par défaut Django est configuré avec SQLite. Par contre, ce moteur SQL n'est pas recommandé pour un environnement en production. Nous allons donc installer la librairie mysqlclient pour pouvoir nous connecter à MySQL. (Il est aussi possible d'utiliser PostgreSQL si vous préférez.) : 

pip install mysqlclient

Nouvelle installation

Si vous souhaitez installer une nouvelle application Django, vous allez pouvoir utiliser la CLI django-admin pour initialiser votre application.

Assurez-vous d'être dans le dossier que vous avez choisi pour votre application Python et lancez la commande ci-dessous. Vous pouvez changer "monapp" pour le nom d'application souhaité :

django-admin startproject monapp .

À noter que le point à la fin de la commande est important.

Installation existante

Si vous avez déjà une application Django et que vous souhaitez l'installer sur votre World, vous allez devoir envoyer les fichiers dans un sous-dossier du dossier choisi pour l'application Python. Dans ce tutoriel nous utilisons "monapp" comme nom de sous-dossier et d'application, mais vous pouvez le changer selon votre préférence.

Configuration de Django

Maintenant que les fichiers de votre application sont installés, il faut maintenant faire la configuration.

Base de données

Si vous n'avez pas déjà créé la base de données, je vous invite à suivre ce guide: Bases de données > Base de données.

Une fois la base de données créée, modifiez le fichier de configuration du Django. Dans notre cas, c'est le fichier monapp/settings.py

DATABASES = {
'default': {
       	'ENGINE': 'django.db.backends.mysql',
        'NAME': 'cpanel_dbname',
       	'USER': 'cpanel_dbuser',
       	'PASSWORD': 'password',
        'HOST': '127.0.0.1',
       	'PORT': '3306',
    }
}

Pour plus d'informations sur la configuration de l'application Django, nous vous recommandons de consulter la documentation officielle de Django: https://docs.djangoproject.com/fr/2.2/ref/settings/#databases

Serveur (Passenger)

Les serveurs World utilisent Passenger pour faire fonctionner Python. Passenger est responsable de démarrer automatiquement votre application lorsque quelqu'un visite votre site. Pour cette raison, il ne faut pas lancer votre application manuellement.

Pour connecter votre application avec Passenger, vous allez devoir modifier le fichier "passenger_wsgi.py" qui est présent dans le dossier que vous avez choisi pour votre application python.

Vous allez devoir remplacer le contenu du fichier par le code ci-dessous. À noter que vous devez modifier "monapp" si vous avez choisi un nom différent pour votre application.

import monapp.wsgi
application = monapp.wsgi.application

Conclusion

Votre application Django devrait fonctionner à présent. 

Astuces

  • Si vous faites des modifications dans le code de votre application, assurez-vous de redémarrer l'application Python via le World Panel pour que les changements prennent effet.
  • Si vous avez des erreurs lorsque vous visitez votre site où votre application est installée, nous recommandons de suivre ce guide: Débogage d'une application NodeJS, Ruby ou Python