SlideShare a Scribd company logo
1 of 67
Download to read offline
The State of Django

Jacob Kaplan-Moss

PyCon, March 27, 2009
http://jacobian.org/speaking/2009/state-of-django/
Happy five years!
Since PyCon 2008...
7,000
14,000
QSRF
NFA
Merged
“Dude, we should
totally have a big Django
  meetup some time!”
State Of Django
Developing reusable apps

        James Bennett
!   !




        PyCon Chicago, March 15, 2008
State Of Django
State Of Django
Django 0.96
  Over one year old
1.0
Unicode
http://docs.djangoproject.com/en/dev/ref/unicode/
Home       Download      Documentation     Weblog        Community      Code




Django documentation                                                                 Search

Everything you need to know about Django (and then                                    Search
some).
                                                                                       Latest       1.0     0.96
                                                                                       All
First steps
                                           Getting help
Overview
                                                                                     Browse
                                           Having trouble? We’d like to
 See what writing a database-driven
                                           help!                                        Table of contents
 application with Django looks like.
                                                                                        General Index
                                              Try the FAQ – it’s got
Installation
                                                                                        Global Module Index
                                              answers to many common
 Get Django installed on your computer.
                                              questions.
                                              Looking for specific                   You are here:
Tutorial: Writing your first                  information? Try the Index,
                                                                                        Django v1.0 documentation
Django application                            Module Index or the detailed
                                              table of contents.                             Django documentation
Part 1
                                              Search for information in the
 Start a project, create models and play
                                                                                     Last update:
                                              archives of the django-users
 with the database API.
                                              mailing list, or post a                September 12, 2008, noon (CDT)

                                docs.djangoproject.com
Part 2                                        question.
 Explore the automatically-generated          Ask a question in the
 admin site.                                  #django IRC channel, or
                                              search the IRC logs to see if
Part 3
                                              its been asked before.
48 languages
Signals
0.96
1.0
QSRF
Oracle
Pluggable file storage
http://docs.djangoproject.com/env/dev/howto/custom-file-storage/
newforms
ModelForms
http://docs.djangoproject.com/en/dev/topics/forms/modelforms/
Formsets
http://docs.djangoproject.com/en/dev/forms/formsets/
Session backends
http://docs.djangoproject.com/en/dev/topics/http/sessions/
File uploads: less FAIL
autoescape
Databrowse
http://docs.djangoproject.com/en/dev/ref/contrib/databrowse/
Databrowse


Reporters    John Doe, Jane Smith, Eric Jones, More !


Articles     Dog bites man, Man bites dog, More !
Databrowse


Home / Reporters / Jane Smith



Reporter: Jane Smith
ID           2


Name         Jane Smith


Email        jsmith@example.net


Appears in quot;reporterquot; in the following articles:

Dog bites man
django   wiki   mercurial   docs     presentations      vmware   (user: geo, pass: where2.0)




                      A world-class geographic web framework




                 GeoDjango
State Of Django
State Of Django
newforms-admin
Jython
   PyPy
IronPython*
et cetera
Django 1.1 beta
    now available
What’s new in 1.1?
http://docs.djangoproject.com/en/dev/releases/1.1-alpha-1/

http://docs.djangoproject.com/en/dev/releases/1.1-beta-1/
ORM aggregation
http://docs.djangoproject.com/en/dev/topics/db/aggregation/
>>> Book.objects.aggregate(
...     Avg('price'),
...     highest_price = Max('price'))

{'price_avg': 45.0, 'highest_price': 82.80}
>>> Author.objects.aggregate(Sum('book__price'))

{'book_price_sum': 442}
>>> books = Book.objects.annotate(Max('authors__age'))

>>> books[0].name
u'Python Web Development With Django'

>>> books[0].authors.all()
[<Author: Jeffrey Forcier >, <Author: Paul Bissex>, 
<Author: Wesley J. Chun>]

>>> books[0].authors__age__max
37.0
Publisher.objects.annotate(num_books=Count('book__id')) 
                 .filter(num_books__gt=1) 
                 .order_by('num_books')
Query Expressions
http://docs.djangoproject.com/en/dev/topics/db/queries/#query-expressions
>>> Poll.objects.update(votes = F('votes') + 1)
Test faster
Unmanaged models
class Person(models.Model):
    ...

    class Meta:
        managed = False
Proxy models
from django.contrib.auth import User

class EmotionalUser(User):
    class Meta:
        proxy = True

    def is_angry(self):
        return self.username == 'hulk'
Deferred fields
>>> Story.objects.filter(...).defer('body')
Conditional View Processing
http://docs.djangoproject.com/en/dev/topics/conditional-view-processing
def latest_entry(request):
    return Entry.objects.aggregate(Max('published'))

@last_modified(latest_entry)
def front_page(request):
    ...
Admin
State Of Django
What’s next?
Django 1.1
  April 20ish
Please help!
GSoC
EuroDjangoCon
US DjangoCon ’09
1.2
Py3k
Thank you!
  Jacob Kaplan-Moss
<jacob@jacobian.org>




 BoF: 2:30pm today

More Related Content

Similar to State Of Django (20)

Introduce Django
Introduce DjangoIntroduce Django
Introduce Django
 
django
djangodjango
django
 
Django Article V0
Django Article V0Django Article V0
Django Article V0
 
Introducing Django
Introducing DjangoIntroducing Django
Introducing Django
 
Django
DjangoDjango
Django
 
Django Introdcution
Django IntrodcutionDjango Introdcution
Django Introdcution
 
Django
DjangoDjango
Django
 
Django
DjangoDjango
Django
 
Getting Started With Django
Getting Started With DjangoGetting Started With Django
Getting Started With Django
 
Django
DjangoDjango
Django
 
Django: Beyond Basics
Django: Beyond BasicsDjango: Beyond Basics
Django: Beyond Basics
 
Django
Django Django
Django
 
Django On Jython (for Portland and Boulder Python user groups presentations)
Django On Jython (for Portland and Boulder Python user groups presentations)Django On Jython (for Portland and Boulder Python user groups presentations)
Django On Jython (for Portland and Boulder Python user groups presentations)
 
Django Girls Tutorial
Django Girls TutorialDjango Girls Tutorial
Django Girls Tutorial
 
dJango
dJangodJango
dJango
 
Django Deployment with Fabric
Django Deployment with FabricDjango Deployment with Fabric
Django Deployment with Fabric
 
Django by rj
Django by rjDjango by rj
Django by rj
 
Getting started with Django 1.8
Getting started with Django 1.8Getting started with Django 1.8
Getting started with Django 1.8
 
Slides
SlidesSlides
Slides
 
Django
DjangoDjango
Django
 

More from Jacob Kaplan-Moss

Introduction To Django (Strange Loop 2011)
Introduction To Django (Strange Loop 2011)Introduction To Django (Strange Loop 2011)
Introduction To Django (Strange Loop 2011)Jacob Kaplan-Moss
 
The Best (and Worst) of Django
The Best (and Worst) of DjangoThe Best (and Worst) of Django
The Best (and Worst) of DjangoJacob Kaplan-Moss
 
Writing great documentation - CodeConf 2011
Writing great documentation - CodeConf 2011Writing great documentation - CodeConf 2011
Writing great documentation - CodeConf 2011Jacob Kaplan-Moss
 
Django Introduction, Dev in Rio 2009
Django Introduction, Dev in Rio 2009Django Introduction, Dev in Rio 2009
Django Introduction, Dev in Rio 2009Jacob Kaplan-Moss
 
Building a web framework: Django's design decisions
Building a web framework: Django's design decisionsBuilding a web framework: Django's design decisions
Building a web framework: Django's design decisionsJacob Kaplan-Moss
 
Django - the first five years
Django - the first five yearsDjango - the first five years
Django - the first five yearsJacob Kaplan-Moss
 
A brief history of Django model syntax
A brief history of Django model syntaxA brief history of Django model syntax
A brief history of Django model syntaxJacob Kaplan-Moss
 

More from Jacob Kaplan-Moss (12)

Introduction To Django (Strange Loop 2011)
Introduction To Django (Strange Loop 2011)Introduction To Django (Strange Loop 2011)
Introduction To Django (Strange Loop 2011)
 
The Best (and Worst) of Django
The Best (and Worst) of DjangoThe Best (and Worst) of Django
The Best (and Worst) of Django
 
Writing great documentation - CodeConf 2011
Writing great documentation - CodeConf 2011Writing great documentation - CodeConf 2011
Writing great documentation - CodeConf 2011
 
What's new in Django 1.2?
What's new in Django 1.2?What's new in Django 1.2?
What's new in Django 1.2?
 
Django Introduction, Dev in Rio 2009
Django Introduction, Dev in Rio 2009Django Introduction, Dev in Rio 2009
Django Introduction, Dev in Rio 2009
 
Snakes on the Web
Snakes on the WebSnakes on the Web
Snakes on the Web
 
Django In The Real World
Django In The Real WorldDjango In The Real World
Django In The Real World
 
Building a web framework: Django's design decisions
Building a web framework: Django's design decisionsBuilding a web framework: Django's design decisions
Building a web framework: Django's design decisions
 
Django in the Real World
Django in the Real WorldDjango in the Real World
Django in the Real World
 
Django - the first five years
Django - the first five yearsDjango - the first five years
Django - the first five years
 
A brief history of Django model syntax
A brief history of Django model syntaxA brief history of Django model syntax
A brief history of Django model syntax
 
Django Update (OSCON 2007)
Django Update (OSCON 2007)Django Update (OSCON 2007)
Django Update (OSCON 2007)
 

Recently uploaded

Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 

Recently uploaded (20)

Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 

State Of Django