Ur doing it wrong

by James Bennett

Our WVA friend

To start off: RTFM

  1. People starting Django often don’t have a background in Python.
  2. Perl maxim #11924 “Well, if you don’t know what it does, why did you put it in your program?”
  3. Get the basic python bits down

Idea: Django module of the week

  1. Just like Doug Hellman’s Python module of the week
  2. Would take 2 years
  3. The problem is that I need a better blog engine

Django is just Python

  1. Django applications are just python modules. Did not reinvent the wheel.
  2. Django Views could be callable classes. Hmmmm…
  3. Django admin used callable classes for views.
  4. Yet people never grok that Django is really just python.

The biggest problem with the perception of Django

People think that Django is too glued together. But that isn’t true:

  1. Just do import SqlAlchemy
  2. You don’t need to use Django’s default components

Testing new Django apps

What James does to check out your app:

  1. Need to have your stuff working with standard Django install tools.
  2. top level stuff needs to be there in your package.
  3. Stay away from setuptools. Go to distribute by Tarek Ziade
  4. Wants to see a concise one-sentence explanation from the README describing what the app does
  5. You better have a good explanation as to why you are duplicating other person’s work
  6. Wants to see documentation or will file a bug. Will jump away from your work if you don’t have it unless you are lucky.
  7. Pick a license. Choosing one causes a flame. Django prefers the BSD.
  8. Tests are handy. If there aren’t unit tests he doesn’t trust your code.

What turns off James:

  1. Put this module in django.contrib
  2. Ignoring standard features of Python or Django is silly

Something cool:

  1. django-lint looks awesome
  2. pypants is awesome
  3. Assigns a score represented by pants on Python packages