Both sides previous revisionPrevious revisionNext revision | Previous revision |
django [2010/05/18 17:38] – ginko | django [2010/10/12 10:54] (current) – ginko |
---|
* Le très pythonique "L'explicite est mieux que l'implicite" | * Le très pythonique "L'explicite est mieux que l'implicite" |
Source: [[http://docs.djangoproject.com/en/dev/misc/design-philosophies/]] | Source: [[http://docs.djangoproject.com/en/dev/misc/design-philosophies/]] |
| ===== Ressources ===== |
| * [[astuces_django|Astuces]] |
| * [[http://www.django-fr.org/|django-fr]] |
| * [[http://www.djangobook.com/en/1.0/|The Django Book]] |
| ===== Django & Ajax ===== |
| * [[http://www.b-list.org/weblog/2006/jul/02/django-and-ajax/|Un article de blog intéressant sur le sujet]] |
| * [[http://www.dajaxproject.com/|Un projet d'intégration d'Ajax dans Django]] |
| ===== Advocacy ===== |
| * [[http://stackoverflow.com/questions/1293361/how-to-convince-my-boss-to-use-django]] |
===== Création d'un projet ===== | ===== Création d'un projet ===== |
Source: [[http://docs.django-fr.org/intro/tutorial01.html]] | Source: [[http://docs.django-fr.org/intro/tutorial01.html]] |
* Ajouter ''django.contrib.admin'' dans votre option ''INSTALLED_APPS''. | * Ajouter ''django.contrib.admin'' dans votre option ''INSTALLED_APPS''. |
* Lancer <code python>python manage.py syncdb</code>. Puisque vous avez ajouté une nouvelle application à ''INSTALLED_APPS'', les tables de la base de données ont besoin d’être mises à jour. | * Lancer <code python>python manage.py syncdb</code>. Puisque vous avez ajouté une nouvelle application à ''INSTALLED_APPS'', les tables de la base de données ont besoin d’être mises à jour. |
* Editer ''urls.py'' en décommentant le pattern adéquat (commençant sans doute par ''(r'âdmin'') | * Editer ''urls.py'' en décommentant le pattern adéquat (commençant sans doute par ''(r'^admin'') |
| * Rendre une appli modifiable par l'admin:<code python>from mysite.polls.models import Poll |
| from django.contrib import admin |
| |
| admin.site.register(Poll)</code> dans ''admin.py'' |
| ==== Installer django sur un hébergement ==== |
| * [[http://rabaix.net/en/articles/2007/08/31/how-to-install-django-on-ovh-net|Installer Djangi sur un hébergement OVH]] |
| ===== Common Bad Programming Pattern ===== |
| ==== Importation croisée ==== |
| Lorsque l'on rencontre l'erreur suivante: |
| <code>Caught ViewDoesNotExist while rendering: Could not import reporter.reports2.mesure.views. Error was: ...</code> |
| Et que cette erreur se produit sur n'importe quelle url de l'appli, il y a des chances qu'elle provienne d'une importation croisée: un module importe une ressource provenant d'un second module qui lui-même importe une ressource du premier module. Python n'arrive pas à réaliser le second import. |
| Cette erreur est d'autant plus perfide que la stack est très obscure et provient en apparence d'un truc qui n'a rien à voir avec le problème (sauf bien sur le module que Python n'arrive pas à importer). |