Top o’ the morning (or evening) Django Round-Up readers! Here’s issue #7, hot off the presses:
Featured
Django 1.5.1 Released
A minor release fixing a memory leak in 1.5 and some smaller non-critical bugs.
Schema Migrations for Django Kickstarter
Andrew Godwin’s Kickstarter project to add database schema migrations to Django core was an overwhelming success by any measurement. He raised nearly £18k, over seven times his original goal. There’s just a few hours left in his campaign if you want to contribute.
Critical Security Update for PostgreSQL
Django’s most widely used database just released updates for some major security issues on versions 9.2, 9.1, and 8.4. If you’re running PostgreSQL anywhere in your infrastructure, update ASAP.
Links of Interest
Django C10k demo
Hot off of Guido’s PyCon keynote on adding asynchronous I/O support to Python and his skunkworks project, tulip, core developer Aymeric Augustin built an experimental Django project on top of it capable of holding open 10,000 simultaneous websocket connections in pure Python. Yet another reason to get excited about Python 3!
How to Serve Django Statics (and not go insane)
The folks at SendHub show you some techniques to improve the speed of serving your static files based on the suggestions from PageSpeed and YSlow.
Best Practices with Django on WebFaction
Core developer Luke Plant outlines his process (and corresponding fabfile) for deploying sites to Django-friendly shared hosting provider WebFaction. While WebFaction provides some nice auto-setup tools for new Django sites, read the post to see where they fall short.
Getting Started With Django: Lesson 3
Kenneth Love is back with the third lesson in the Getting Started with Django series. This one covers testing. He goes through installing django-discover-runner and coverage.py and how you can use them to not only test your Django project, but also see which lines of code are actually being tested.
DjangoSCUBA
Like SCUBA? Into Django? Think doing both at Red Sea sounds fun this December? Sign up to express your interest.
Effective Django
They’ve already summed it up perfectly, “Effective Django development means building applications that are testable, maintainable, and scalable – not only in terms of traffic or load, but in terms of being able to add developers to projects. After reading Effective Django you should have an understanding of how Django’s pieces fit together, how to use them to engineer web applications, and where to look to dig deeper.”
Overloading Django Form Fields
Daniel Greenfeld (aka PyDanny) shows the proper way to overload attributes on Django ModelForm fields. If you like that post, also check out his Core Concepts of Django Forms
post or consider buying his awesome book, 2 Scoops of Django.
How I Develop Django Projects
A few shortcuts and tips on setting up an environment for Django development. It’s geared toward OS X, but much of it is applicable for Linux as well.
New & Updated Packages
- django-cacheback Asynchronous caching via Celery
- django-pushserver A helper Nginx’s push module that provides a management command to run a push server in development.
- django-multiurl Allows routing a single URL to multiple views
- django-filter Forms and helpers for letting users filter querysets
- django-authority
A powerful permissions layer on top of
django.contrib.authallowing for per-object permissions among other things