Liste de commandes non-exhaustive bien sûr, et surtout propre à mon usage personnel. Ce mémo est lié à l'article À la découverte de Django et GeoDjango.

Créer un projet Django (un site)

Sous Windows, Django 1.9.2 / Python 3.4.4, cette commande peut suffire : python -m django startproject mon_projet

Sous Linux, une commande plus recommandée : django-admin startproject mon_projet

Sous Linux mais avec des versions antérieures (chez Alwaysdata par exemple, Django 1.6.4 et Python 2.6.6) : django-admin.py startproject mon_projet

Créer une app Django (une fonctionnalité du site)

Placez-vous dans votre projet, changez le nom d'app souhaité, puis :

python manage.py startapp mon_appli

À chaque fois qu'il faut se placer dans le répertoire de votre projet Django, c'est pour utiliser le fichier manage.py, qui permet d'appeler Python directement à partir de votre projet personnel, pourtant situé hors de l'environnement virtuel.

Créer un super-utilisateur Django

Une fois que l'accès à votre base de données est correctement configuré, placez -vous dans votre projet puis :

python ./manage.py createsuperuser

Suivez les instructions de création d'un nom d'utilisateur,email et mot de passe.

Collecter les fichiers statiques

./manage.py collectstatic

Connaître la locale de Django

Dans votre projet Django : locale

Il y a aussi locale -a

Connaître la version de Django

Rentrez dans Python (python à la racine) puis import django; print(django.get_version())

Déclarer Postgres dans settings.py

Sous Django 1.6 :

DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'nom_de_bdd',
'USER': 'votre_user_bdd',
'PASSWORD': 'votre_mot_de_passe_de_user_bdd',
'HOST': 'votre_host_distant_ou_localhost',
}
}

Il peut y avoir des subtilités : 'ENGINE': 'django.db.backends.postgresql',

L'utilisation de Psycopg est parfois requise (voir plus bas).

Déclarer les INSTALLED_APPS

Dans les anciennes version de Django (<=1.6), la dernière ligne :

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    ...
    'carto',
]

Dans les versions plus récentes (1.9 notamment) :

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    ...
    'carto.apps.CartoConfig',
]

Déclarer GeoDjango

Il s'agit d'une INSTALLED_APPS 'django.contrib.gis',

Démarrer le serveur de développement

Placez-vous dans le répertoire d'un projet Django puis exécutez :

python manage.py runserver

Votre serveur sera accessible à l'adresse http://127.0.0.1:8000.

Démarrer le serveur de développement chez Alwaysdata

Placez-vous dans le répertoire d'un projet Django puis exécutez par exemple (changez le nom de compte bien sûr, ainsi que le port) :

./manage.py runserver ssh-hinot.alwaysdata.net:14380

Votre serveur sera par exemple accessible à l'adresse http://ssh-hinot.alwaysdata.net:14380/.

Éteindre le serveur de développement/Sortir du serveur de développement

Ctrl+c

Générer les tables des INSTALLED_APPS

Dernière version de Django/Python :

python manage.py makemigrations puis python manage.py migrate

Réinitialiser les migration d'une app

python manage.py reset_migration myApp

Installer Psycopg

Sous Windows : python -m pip install psycopg2

Et dans settings.py, pour utiliser Postgres, toujours sous Windows : 'ENGINE': 'django.db.backends.postgresql',

Modèle de points géométriques

Exemple d'un modèle de points géométriques dans le fichier models.py d'une application d'un projet Django :

from django.contrib.gis.db import models

class Sample(models.Model):
# Champs classiques
name = models.CharField("Name", max_length=100)
author = models.CharField("Author", max_length=100)

# Champ geometrique
geom = models.PointField("Location")

# Chaine du modele
def __str__(self):
return self.name

Ouvrir la console Python

Sous Linux ou Windows, pour ouvrir la console Python directement dans le shell Linux ou Windows, tapez python, la console affiche maintenant >>>, vous être dans la console Python.

Sortir de la console Python

Sous Linux, faites Ctrl+d

Sous Windows, Ctrl+Pause. Sur certains PC, la combinaison Ctrl+c marche aussi.