Feb 132011
 

Jusqu’à présent j’avais toujours réussi à poster mes billets de django app à l’heure. Mais là, là, j’ai une excuse. Je suis devenu papa le 31 janvier. Du coup, je n’ai vraiment pas eu le temps pour écrire mon billet de django app (les raleurs qui me diront que j’avais tout les jours d’avant le 31 pour écrire mon billet auront raison.. mais chut, j’ai une excuse, c’est tout).

Ce mois-ci (enfin le mois dernier quoi), je vais parler d’une partie de django dont je ne parle pas assez l’admin, en vous présentant django-admin-tools.

1- Où on le trouve, comment on l’installe, tout ça quoi (et la doc) ?

Où on le trouve sur sa page bitbucket sur laquelle vous trouverez aussi tout plein de screenshoot (que je reproduis ici en partie), une mini doc et un lien vers une doc très très complète.

Quand à l’installation vous pouvez soit :

  • cloner le repo puis faire un python setup.py install
  • utiliser easy install : easy_install django-admin-tools
  • utiliser pip : pip install django-admin-tools
  • simplement mettre le repertoire admin_tools dans votre python path

Quand à la doc, elle est présente sur readthedocs.org et est vraiment très bien faite. bien fournie et claire.

2- Mais au fait, à quoi ça sert ?

Django-admin-tools va vous permettre de customiser votre admin django.

Vous allez pouvoir des petits dasboards en page d’accueil, personnalisable et drag and dropable et foldable. Vous allez aussi pouvoir avoir un menu horizontal et une gestion des bookmarks. Les menus pourront être constitués de sous menus, de liens finaux ou de menus construits automatiquement à partir de  la liste des app (moins celles que l’on décide d’exclure).

3- Comment ça marche ?

Dans tout les cas, il y a une config par défaut. Si on veut changer la config des dashboard ou du menu, il faut générer un module python ( qui par défaut sera celui qui donne la config par défaut), le modifier et indiquer que l’on veut l’utiliser. On peut aussi modifier le thème CSS qui sera utilisé.

Pour le menu :

  • python manage.py custommenu

ou

  • python manage.py custommenu somefile.py

puis :

  • ADMIN_TOOLS_MENU = ‘yourproject.menu.CustomMenu’

pour le dashboard, même chose :

  • python manage.py customdashboard

ou

  • python manage.py customdashboard somefile.py

puis

  • ADMIN_TOOLS_INDEX_DASHBOARD = ‘yourproject.dashboard.CustomIndexDashboard’
  • ADMIN_TOOLS_APP_INDEX_DASHBOARD = ‘yourproject.dashboard.CustomAppIndexDashboard’

4 Conclusion

Je dois bien avouer que je pense sous utilisais l’admin django. Je suis toujours à refaire des trucs en espace non admin alors que l’admin offre pourtant des possibilités immenses, pour très peu de temps passés. La découverte de django-admin-tools me conforte dans l’idée qu’il faut que je me force à utiliser plus souvent l’interface admin. Et donc à tester de nouvelles app d’extension de l’admin.

  6 Responses to “Django-admin-tools, la django app de janvier, presque à l’heure”

  1. […] This post was mentioned on Twitter by Jean-Michel ARMAND and Planète Django-fr, Olivier LOYNET. Olivier LOYNET said: RT @mrjmad: [MADBLOG] la #django app du mois de janvier : django-admin-tools : http://is.gd/1dtIIP #djangofr […]

  2. Cool un plugin crée par Jean-Louis David ça décoiffe !
    http://img151.imageshack.us/img151/6706/capturevba.png

    • rah mince … j’ai pas fait attention au nom du monsieur … j’ai loupé l’un des plus beaux jeux de mots de titre de billet de ma vie ….

      Et merde !!

      • @LeozLeoz01: Arf… bravo, on me l’avait jamais faite…

        @J-Mad: Je suis bien content que vous ayez loupé votre jeu de mot, d’une part se moquer du nom des autres “c’est mal”, d’autre part vous noterez que ce n’est pas un homonyme parfait, “David” étant mon prénom…

        En tout cas merci pour votre article qui présente assez bien django-admin-tools.

        • C’est vrai que “c’est mal” Mais quand c’est gentiment fait, c’est pas si mal que ça :).

          Et puis, je suis spécialiste des jeux de mots foireux dans les titres de mes billet sur les django-app, ça n’aurait été qu’un de plus d’une longue lignée et c’est de moi que l’on se serait encore moqué 🙂

          Pour le billet, aucun problème, ton app est vraiment bien sympathique et je l’utilise sur de vrais projets en prod, donc c’était une candidate parfaite pour l’app du mois.

  3. Et je confirme, Django admin tools, c’est vraiment pas mal du tout. Je l’utilise actuellement sur un « gros » projet, et je compte bien personnaliser un peu plus l’admin (car ça sera nécessaire pour ne pas m’arracher les cheveux…il n’y avait pas de jeu de mot ici !)

Sorry, the comment form is closed at this time.