- Il faut au préalable avoir installé Python 3 (de préférence la version 3.5.2). Pour cela la distribution Anaconda est recommandée. De plus il fortement conseillé d'utiliser un environnement virtuel, que ce soit avec Anaconda ou pas.
- Il faut aussi installer PostgreSQL (version 9.x) et PostGIS qui est l'extension géographique de PostgreSQL. Pour MacOS il fortement conseillé d'utiliser Postgres.app qui rend l'installation triviale.
- Après avoir installé PostgreSQL, il faut créer une base de données qui doit s'appeller
wasty. Vous pouvez le faire à la main ou bien en utilisant une interface visuelle comme pgAdmin ou bien Postico. - Ensuite il faut installer les librairies Python utilisées dans l'application. Pour cela effectuez les commandes suivantes.
cd /chemin/vers/application/
pip install -r setup/requirements.txt
pip install -r setup/dev-requirements.txt- Il faut créer un fichier nommé
.envpour configurer l'application selon votre installation. Ces variables sont personnelles et c'est pour cela qu'elles ne sont pas versionnées. Copiez/collez le code suivant et remplacez les valeurs selon vos besoins.
# Paramètres de l'URI pointant vers la base de données
DB_ENGINE='django.contrib.gis.db.backends.postgis'
DB_NAME='wasty'
DB_USER='postgres'
DB_PASSWORD='postgres'
DB_HOST='127.0.0.1'
DB_PORT='5432'
# Indique si le débogueur est allumé ou pas
DEBUG='True'
# Clé secrète
SECRET_KEY='3qy8$j3798ccwflqx58p9h$eb()zd83%gag)(uk^$3g@l9%cdh'- Vous pouvez maintenant insérer les tables dans la base de données en faisant
python manage.py migrate. Cette commande va regarder tous les fichiers résidants dans les dossiermigrations/et les appliquer à la suite.
Vous pouvez lancer python manage.py pour afficher une liste de commandes à dispositions. Les plus fréquentes d'utilisation sont:
python manage.py runserverpour lancer l'application en localpython manage.py makemigrations <app>pour créer des fichiers de migration (<app>est par exemplepublic)python manage.py migratepour effectuer les migrations en retardpython manage.py createsuperuserpour créer un utilisateur administrateurpython manage.py flushpour vider la base de données
De plus, des commandes spécifiques à cette application sont disponibles:
python manage.py generate_fake_datapour remplir la base de données avec des données simuléespython manage.py import_static_datapour insérer les données statiques tels que les informations sur les quartiers