Retrouvez-moi sur... Blog > 2011 > Oct > 28 > Bien dbuter avec Django Bien dbuter avec Django Ecrit par guillaumecisco le 28 octobre 2011 sous Django, Zinnia. Nous utiliserons tout au long de ce blog la dernire version en cours stable de Django ( l'heure o je vous parle : 1.3.1). La documentation actuelle de Django explique trs bien comment l'installer et propose un tutorial de dcouverte en 4 tapes : Documentation officielle <- alors OK c'est en anglais, mais la documentation est trs trs bien faite et permet d'apprendre correctement les bases de Django. Une documentation en Franais existe aussi mais elle couvre Django 1.1.1 et de lgres diffrences sont prsentes par rapport la dernire version en cours. tant donn que le site Django-fr s'occupe de traduire la documentation officielle de Django, je ne traduirai pas moi-mme ce qui est dfinit dans la documentation de la version 1.3.1. Le pouvoir de Django, actuellement le framework web le plus populaire pour python, vient en partie du fait qu'il dispose d'un ORM intgr et d'une interface d'administration automatiquement gnre simple mettre en place et utiliser. Lorsque vous rencontrez une erreur qui n'est pas expliqu dans la documentation officielle, si une recherche google de l'erreur ne vous a pas permis de comprendre votre problme, intressez-vous au site stackoverflow qui est une excellente mine d'informations pour les dveloppeurs. Aprs cette petite prsentation, passons la pratique et ralisons notre premier projet Django qui va afficher une page "Hello World !" Nous utiliserons ici un environnement de type linux, dans mon cas Ubuntu. C'est parti ! Tout d'abord on rcupre et installe django si ce n'est pas dj fait (assurez-vous Annonces Google Django Python Django Django Python Django Web Tutos Django - Bien dbuter avec Django http://tutos-django.com/2011/10/28/bien-debuter-av... 1 sur 6 19/02/2012 21:27 d'avoir les droits sudo) : $ apt-get install python-setuptools $ easy_install django Crons prsent notre projet Django : $ django-admin.py startproject mysite Un projet peut contenir plusieurs applications qui peuvent tre rutilisables ensuite dans d'autres projets Django. Ce qui permet d'avoir une grande portabilit du code et d'utiliser des applications dj cres par d'autres personnes afin d'avancer plus vite. C'est le cas par exemple de ce site qui utilise la base de l'application django-blog-zinnia pour fonctionner. Crons notre application : $ cd mysite $ python manage.py startapp helloworld Maintenant que notre application est cre, il va falloir que nous l'ajoutions notre projet, pour cela, nous allons simplement diter le fichier settings.py, en ajoutant la variable INSTALLED_APPS, le nom de notre application : INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', # Uncomment the next line to enable the admin: # 'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', 'helloworld', ) Au passage, nous pourrions dcommenter 'django.contrib.admin' afin d'autognrer l'interface d'administration de notre site, mais pour l'instant nous ne l'utiliserons pas. Nous pouvons galement modifier d'autres variables dans ce fichier savoir l'utilisation de la base de donnes avec ce projet. Bien que nous n'utiliserons pas de base de donnes, ni de modles pour ce tutorial, nous allons quand mme dfinir une base de donnes de dveloppement de type sqlite3. Pour cela rien de plus facile, on modifie ces lignes : DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': '/home/guillaume/ma_bdd_de_dev', 'USER': '', Tutos Django - Bien dbuter avec Django http://tutos-django.com/2011/10/28/bien-debuter-av... 2 sur 6 19/02/2012 21:27 'PASSWORD': '', 'HOST': '', 'PORT': '', } } Ici je dclare 'NAME': '/home/guillaume/ma_bdd_de_dev' comme chemin vers mon fichier de base de donnes. Vous n'avez pas besoin de crer ce fichier, il se crera automatiquement. Nous allons maintenant synchroniser notre projet avec notre base de donnes et lancer notre serveur ! Excutez cette commande et rpondez aux questions poses : $ python manage.py syncdb Une fois toutes les questions rpondues, lancez votre serveur : $ python manage.py runserver Validating models... 0 errors found Django version 1.3.1, using settings 'mysite.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Voila, vous pouvez maintenant accder l'url http://127.0.0.1:8000/ depuis votre navigateur prfr et devriez voir ceci : Vous pouvez prsent remarquer que nous avons pris de l'avance sur cette page en crant notre fichier de base de donnes et en crant notre application. Maintenant nous allons dvelopper notre application ! Nous allons commencer par arrter notre serveur en effectuant la commande Ctrl+C, puis nous allons crer un dossier nomm 'templates' dans notre application et y ajouter une page html. $ cd helloworld $ mkdir templates $ cd templates $ touch index.html Notre fichier index.html va contenir ce code : Tutos Django - Bien dbuter avec Django http://tutos-django.com/2011/10/28/bien-debuter-av... 3 sur 6 19/02/2012 21:27 <html> <head> <title> HelloWorld ! </title> </head> <body> <p>Hello World !</p> </body> </html> Maintenant, renseignons ce fichier index.html dans notre projet, pour cela nous allons modifier le fichier urls.py prsents deux dossiers plus haut : urlpatterns = patterns('', url(r'^$', 'mysite.helloworld.views.home', name='home'), ) Notre fichier settings.py doit savoir ou trouver notre dossier de templates que nous avons prcdemment cr, nous allons donc modifier la variable TEMPLATE_DIRS vers le chemin de notre dossier templates, dans mon cas: TEMPLATE_DIRS = ( '/home/guillaume/mysite/helloworld/templates', ) Enfin, comme Django fonctionne sous le principe d'un modle MVC (Modle/Vue/Contrleur), nous n'avons plus qu' crer notre contrleur que nous avons nomm "home" dans notre fichier urls.py plus haut et qui doit se trouver dans le fichier views.py, comme nous l'avons prcdemment crit : url(r'^$', 'mysite.helloworld.views.home', name='home') On ouvre donc ce fichier et on l'dite de cette faon : from django.shortcuts import render_to_response def home(request): return render_to_response('index.html') Ici on importe le module render_to_reponse qui permet de rediriger vers la vue souhaite, et on dfinit notre mthode 'home'. On peut prsent relancer notre serveur et observer notre nouveau rendu :) Tutos Django - Bien dbuter avec Django http://tutos-django.com/2011/10/28/bien-debuter-av... 4 sur 6 19/02/2012 21:27 Et voila ! Mission accomplie ! Vous venez de dcouvrir trs rapidement comment fonctionne Django et son modle MVC, et afficher votre premire page html. Notez que nous n'tions pas oblige de crer une page html pour ce type d'exemple mais nous aurions pu directement crire dans notre vue : from django.http import HttpResponse def home(request): return HttpResponse("HelloWorld") Essayez ! Ici nous n'avons pas encore abord la cration de modles, ni la manipulation de donne au niveau du contrleur pour l'afficher dans une vue. Cela sera vu dans un autre tutorial plus complet ;) en attendant, n'hsitez pas parcourir le tutorial en 4 tapes de la documentation Django, qui vous permettra d'en dcouvrir bien plus ! Tags : django helloworld tutorial zinnia Url raccourcie : http://tutos-django.com/6/ Discussions : 1 commentaire Article suivant Django et son ORM Article prcdent Bienvenue sur Tutos Django ! Articles similaires L'Administration en Django Tutos Django - Bien dbuter avec Django http://tutos-django.com/2011/10/28/bien-debuter-av... 5 sur 6 19/02/2012 21:27 Powered by Django and Zinnia 0.10.dev. Bienvenue sur Tutos Django ! Django et son ORM Django shortcuts - Raccourcis L'encapsulation des Templates Commentaires Cajoline le 23 jan. 2012 11:44:50 Merci pour ce Tuto 1. Pingbacks Les pingbacks sont ouverts. Trackbacks URL de Trackback Tutos Django - Bien dbuter avec Django http://tutos-django.com/2011/10/28/bien-debuter-av... 6 sur 6 19/02/2012 21:27