Things I wish I’d
known about Django
A talk all about me (sorry)
James Cooke // The London Django Meetup
Slide 2
Slide 2 text
About me
● Backend developer
● Accidental web dev:
o Five years of PHP
o Four years of Piotr saying “check out Django”
o Client driven dev
o Learning / experimentation debt
● Django was my first experience of Python
Slide 3
Slide 3 text
Better Python > Better Django
● “Magic” Django functions are just powerful
Python features.
● Accessors, decorators, comprehensions and
generators.
Slide 4
Slide 4 text
Deployment isn’t `scp`
● Non-trivial deployment. File-orientated is
not enough.
● modpython support deprecated when I
started.
● WSGI needs some workers - you’re a
devops now :D
Slide 5
Slide 5 text
Django’s not rails
Adjusting how your Django install works is
standard and expected. e.g:
● Use other libraries.
● Extend ORM / object managers.
● Templating.
● Class based views.
Slide 6
Slide 6 text
Django lets me screw up my data
`Model.save != Model.full_clean`
Many routes data can take into DB:
● Form validation in view
● View code building objects
● Data migrations
● Ad hoc queries in shell.
Slide 7
Slide 7 text
Point five
`from django.test import TestCase`
Slide 8
Slide 8 text
Community
If I’d know it was this good I’d have been here
sooner:
● Great plugins / tools: South, Mezzanine /
CMS, caches, integrations.
● High quality community answers
● Generally built on strong Python
community (I think)
Slide 9
Slide 9 text
Summary
● If you’re new: Jump in (sooner)
● If you’re here now: Don’t fear the magic (use
the source)
● If you’re pro: Spread the word :D
Thanks… got questions?
@jamesfublo