0
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!”
Developing reusable apps

        James Bennett
!   !




        PyCon Chicago, March 15, 2008
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                     ...
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       ...
django   wiki   mercurial   docs     presentations      vmware   (user: geo, pass: where2.0)




                      A w...
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/releas...
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_pric...
>>> 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...
Publisher.objects.annotate(num_books=Count('book__id')) 
                 .filter(num_books__gt=1) 
                 .orde...
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(se...
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_pa...
Admin
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
State Of Django
State Of Django
State Of Django
State Of Django
State Of Django
State Of Django
Upcoming SlideShare
Loading in...5
×

State Of Django

2,306

Published on

Django 1.0 was released in September 2008. This release marks a major turning
point in Django's development; a real maturation of the project. Join the lead
developers of Django as they discuss what's new in Django 1.0, cover the Django
1.1 release (currently scheduled for a few weeks after PyCon), and discuss the
project's future.

1 Comment
4 Likes
Statistics
Notes
  • corona is very nice beer :)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
2,306
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
72
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "State Of Django"

  1. 1. The State of Django Jacob Kaplan-Moss PyCon, March 27, 2009 http://jacobian.org/speaking/2009/state-of-django/
  2. 2. Happy five years!
  3. 3. Since PyCon 2008...
  4. 4. 7,000
  5. 5. 14,000
  6. 6. QSRF NFA
  7. 7. Merged
  8. 8. “Dude, we should totally have a big Django meetup some time!”
  9. 9. Developing reusable apps James Bennett ! ! PyCon Chicago, March 15, 2008
  10. 10. Django 0.96 Over one year old
  11. 11. 1.0
  12. 12. Unicode http://docs.djangoproject.com/en/dev/ref/unicode/
  13. 13. 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.
  14. 14. 48 languages
  15. 15. Signals
  16. 16. 0.96
  17. 17. 1.0
  18. 18. QSRF
  19. 19. Oracle
  20. 20. Pluggable file storage http://docs.djangoproject.com/env/dev/howto/custom-file-storage/
  21. 21. newforms
  22. 22. ModelForms http://docs.djangoproject.com/en/dev/topics/forms/modelforms/
  23. 23. Formsets http://docs.djangoproject.com/en/dev/forms/formsets/
  24. 24. Session backends http://docs.djangoproject.com/en/dev/topics/http/sessions/
  25. 25. File uploads: less FAIL
  26. 26. autoescape
  27. 27. Databrowse http://docs.djangoproject.com/en/dev/ref/contrib/databrowse/
  28. 28. Databrowse Reporters John Doe, Jane Smith, Eric Jones, More ! Articles Dog bites man, Man bites dog, More !
  29. 29. 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
  30. 30. django wiki mercurial docs presentations vmware (user: geo, pass: where2.0) A world-class geographic web framework GeoDjango
  31. 31. newforms-admin
  32. 32. Jython PyPy IronPython*
  33. 33. et cetera
  34. 34. Django 1.1 beta now available
  35. 35. 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/
  36. 36. ORM aggregation http://docs.djangoproject.com/en/dev/topics/db/aggregation/
  37. 37. >>> Book.objects.aggregate( ...     Avg('price'), ...     highest_price = Max('price')) {'price_avg': 45.0, 'highest_price': 82.80}
  38. 38. >>> Author.objects.aggregate(Sum('book__price')) {'book_price_sum': 442}
  39. 39. >>> 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
  40. 40. Publisher.objects.annotate(num_books=Count('book__id'))                   .filter(num_books__gt=1)                   .order_by('num_books')
  41. 41. Query Expressions http://docs.djangoproject.com/en/dev/topics/db/queries/#query-expressions
  42. 42. >>> Poll.objects.update(votes = F('votes') + 1)
  43. 43. Test faster
  44. 44. Unmanaged models
  45. 45. class Person(models.Model):     ...     class Meta:         managed = False
  46. 46. Proxy models
  47. 47. from django.contrib.auth import User class EmotionalUser(User):     class Meta:         proxy = True     def is_angry(self):         return self.username == 'hulk'
  48. 48. Deferred fields
  49. 49. >>> Story.objects.filter(...).defer('body')
  50. 50. Conditional View Processing http://docs.djangoproject.com/en/dev/topics/conditional-view-processing
  51. 51. def latest_entry(request):     return Entry.objects.aggregate(Max('published')) @last_modified(latest_entry) def front_page(request):     ...
  52. 52. Admin
  53. 53. What’s next?
  54. 54. Django 1.1 April 20ish
  55. 55. Please help!
  56. 56. GSoC
  57. 57. EuroDjangoCon
  58. 58. US DjangoCon ’09
  59. 59. 1.2
  60. 60. Py3k
  61. 61. Thank you! Jacob Kaplan-Moss <jacob@jacobian.org> BoF: 2:30pm today
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×