Slide 1

Slide 1 text

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