La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Django.

Présentations similaires


Présentation au sujet: "Django."— Transcription de la présentation:

1 Django

2 Des chiffres Date de début : Juillet 2005
1ère Release stable : 1.0, fin 2008 Release actuelle : 1.3.1, Septembre 2011 Des milliers de... Lignes de code, Développeurs, Révisions, Membres de la communauté

3 En France Association Django-Fr
DjangoCong 2009, 2010 et bientôt 2011 ! Chan irc sur freenode : #django-fr Une mailing-list sur l'AFPy

4 Ce qu'il n'est pas CMS Minimaliste En morceaux épars Compliqué

5 J'aime Complexe, mais facile Répond à des besoins concrets du dev web
Évite les tâches répétitives Sa documentation (très complète) Python

6 Urls & views Regex Url nommée View : fonction ou classe
Décorateur de view « Shortcuts » (render, redirect, etc.) HttpRequest, HttpResponse

7 Template plain/text {{variable}}, {% fonction %}
{% for item in list %} Index.html extends base.html {% block content %} {{variable|modifier}} Template Context Processor

8 ORM Mutli-Db Model Field Manager QuerySet Relation (FK, Many to Many)

9 Exemple Model # -*- coding: utf-8 -*- from django.db import models
from django.contrib.auth.models import User from cantine.talk.managers import LightningTalkManager class LightningTalk(models.Model): title=models.CharField(max_length=255) abstract=models.TextField() date=models.DateTimeField() author=models.ForeignKey(User) is_valid=models.BooleanField(default=False) objects=models.Manager() validated=LightningTalkManager() def __unicode__(self): return u'%s' % self.title

10 Exemple Manager # -*- coding: utf-8 -*- from django.db import models
class LightningTalkManager(models.Manager): def get_query_set(self): return super(LightningTalkManager, self).get_query_set().filter( is_valid=True) # -*- coding: utf-8 -*- from django.db import models class LightningTalkManager(models.Manager): def get_query_set(self): return super(LightningTalkManager, self).get_query_set().filter( is_valid=True) python manage.py shell >>> from cantine.talk.models import LightningTalk >>> LightningTalk.objects.filter(author__name='Florian Strzelecki').all() [<LightningTalk : "Django">, <LightningTalk : "Fabric">] >>> LightningTalk.validated.filter(author__name='Florian Strzelecki').all() [<LightningTalk : "Django">]

11 Formulaires Ce que je préfère ! Classe Form, attribut Fields
{{my_form.as_p}} {% for field in my_form %} f = MyForm(request.POST) f.is_valid()

12 Admin Auto-générée Classe ModelAdmin
Interface configurable (liste, filtre, tri, etc.) Bien documenté en surface Encore des efforts !

13 Et d'autres choses... Auth, Session Middleware Feeds Cache
Fichiers statiques I18n Pagination Signals Etc...

14 Des questions ? Venez en parler ! Mailing-list IRC DjangoCong


Télécharger ppt "Django."

Présentations similaires


Annonces Google