Simeon Franklin
Pro Django
See the promised sample multi-db/inspectdb code at github and accompanying article.Welcome to our Pro Django Class! Some of you may not have much Python experience - be sure to check out the Python Fundamentals page and download the courseware for our Python class - all the material there should be familiar to you. Also pay close attention to the section labeled "tools" - the tools mentioned there are all worth knowing about when writing applications of any kind with Python.
You can download the courseware we'll be going through and be sure to bookmark the excellent Django Documentation. The best way to gain proficiency with Django is to read the documentation! All the code demonstrated in class will be found in various branches at my github. I highly recommend the upcoming Django Book Two Scoops of Django.
Additional tools, libraries, and API's
We'll be using a variety of 3rd party Django apps in the course of this class. Feel free to explore - I find djangopackages.com to be a good base from which to to browse the Django ecosystem.
I suggest using Twitter Bootstrap to provide basic styling for our web app.
Be sure to checkout the Fabric tutorial. We'll also review the TastyPie tutorial and the basics of using django-celery with Celery.
3rd party Django apps
- Django Annoying to add our render_to decorator
- django crispy-forms and django-floppyforms for programmatic control of form rendering and html5 support
- Making tables? Check out the grid @ djangopackages I made and feel free to add to it. Looks like django-tables2 is the best supported and if you need AJAX support you might consider eztables.
Mentioned in Class
- Use Nose instead of Django's default test-runner
- AHAH!
- Streaming HTTP responses. See also the non-standard http header X-Sendfile for another approach.
- Test Driven Django Tutorial - Thanks Barry!
Videos
Be sure to watch this video if you want a jump-start on setting up in class:
And watch this one to get started setting up django-celery in your dev environment:
If you need a quick primer on using the built-in pdb debugger watch this video: