skilleton contient deux templates :
project_template
est utilisé pour initialiser un nouveau projetapp_template
sert à ajouter une application au sein d'un projet
Caractéristiques :
- j'essaye de mettre le maximum de bonnes pratiques dans ces templates
- le fichier settings est divisé entre le fichier de developpement et le fichier de production
- les paramètres de production sont prévus pour tourner sur alwaysdata donc via fcgi
- le projet utilise virtualenvwrapper, django-debug-toolbar et South
- le template du projet est minimaliste tandis que l'application contient des ébauches de formulaires/modèles/vues pouvant servir de pense-bête
$ django-admin.py startproject $PROJECT_NAME --template=skilleton/project_template --name=.secret_key
- créer le virtualenv avec les programmes requis (alternative pour alwaysdata)
- initialiser la base de données
- virer l'internationalisation si ce n'est pas nécessaire
Commandes :
mkvirtualenv -r requirements.txt $PROJECT_VENV
# alternative pour éviter les désagréments en déployant sur alwaysdata
mkvirtualenv -r requirements.txt -p /usr/bin/python2.6 $PROJECT_VENV
# Bonne pratique : utiliser django-admin.py plutôt que manage.py
add2virtualenv $(pwd)'/$PROJECT_NAME'
echo "export DJANGO_SETTINGS_MODULE=$PROJECT_NAME.settings.dev" >> $VIRTUAL_ENV/bin/postactivate
echo "unset DJANGO_SETTINGS_MODULE" >> $VIRTUAL_ENV/bin/postdeactivate
django-admin.py syncdb
- créer l'application dans le répertoire
/apps
en utilisant le template - l'ajouter à
INSTALLED_APPS
dans$PROJECT_NAME/settings/default.py
- ajouter l'application à south
Commandes :
cd apps
django-admin.py startapp $APP_NAME --template=skilleton/app_template
# ajout à INSTALLED_APPS
django-admin.py schemamigration $APP_NAME --initial
django-admin.py migrate
- Tout traduire en français
- Ajouter le support de Haystack