Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
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
→
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.