site
Table des matières
Ceci est une ancienne révision du document !
Site web
Technologie utilisée : django-cms
Instances fonctionnelles (encore en dev) :
- http://django.faimaison.net [methyl]
- http://django2.faimaison.net [zorun]
Code : dépôt « site-django » sur le serveur git.
TODO
Sur le site en lui-même :
- Partie visible :
- problème de taille sur les liens, on dirait (CSS)
- page d'accueil, mettre le bloc « news » avant l'introduction sur FaiMaison ? Celle-ci est relativement longue et cache complètement la news.
- Partie admin :
- changer l'éditeur par défaut qui est pas top (ça se fait très bien il paraît, cf. doc)
- mettre un plugin django pour faciliter l'insertion d'image (redimensionnent, génération automatique de miniatures…). Intéressants a priori : sorl-thumbnail et easy-thumbnail.
Sur le contenu :
- il y a peut-être trop de choses sur la page d'accueil ?
- presque toutes les pages sont à compléter
- idée de nouvelle page à ajouter ?
Dump de la base de données
On se place dans le cas d'une base de données postgresql, avec un utilisateur postgresql nommé « django » et une base nommée « faimaison » :
pg_dump -U django -f faimaison-ddmmyyy.pgsql.gz -C -Z 5 -E UTF8 faimaison
TODO: le -C est-il nécessaire ?
Migration de sqlite à postgresql
C'est pas aussi simple que prévu… Voici une méthode qui marche (inspiration : http://reinout.vanrees.org/weblog/2011/05/12/sqlite-postgres-django-cms-migrations.html)
- export de la base de données sqlite. L'astuce est d'utiliser l'option –natural pour avoir moins de problèmes avec les ID uniques qui se retrouvent en double :
python2 manage.py dumpdata --indent=2 --natural > dump-db.json
- création de la base de données postgresql (on l'appelle « faimaison » et elle appartient à l'utilisateur « django ») :
$ createuser -P django $ createdb -U django faimaison
- configuration de django pour utiliser postgresql (dans local_settings.py)
- création des tables de base :
python2 manage.py syncdb
- création des tables spécifiques à django-cms :
python2 manage.py migrate
- virer les tables qui ne servent à rien (on va les réimporter et ça fait des conflits) :
$ python2 manage.py dbshell faimaison=> TRUNCATE django_content_type CASCADE;
À ce stade, si on essaie d'importer le dump JSON, il reste un problème avec les placeholders…
- séparer le fichier JSON en deux fichiers… un avec la liste des placeholders, un sans (oui, c'est chiant, il faut le faire à la main^W^W^Wavec emacs)
- importer les placeholders, puis le reste :
python2 manage.py loaddata dump-db-with-placeholders.json python2 manage.py loaddata dump-db-without-placeholders.json
Et voilà, normalement, ça marche :)
site.1332960597.txt.gz · Dernière modification : 2013/01/01 22:59 (modification externe)