Happy Friday, here's Django Round-up, lucky number 13, hot off the presses.
Featured
Andrew Godwin's latest in his Django migrations epic. After years of planning, he finally has functional code working with the Django core. He describes some of the new features and how legacy apps will be handled in this post.
A new Django forum sprung up recently. They describe it's reason for existence better than I could:
Welcome! Django Discussions is a place to converse about all things Django. It's aimed at filling the gap between Stackoverflow (where questions that solicit debate or opinion are generally avoided) and Google Groups (which is unsuited for lengthy discussion).
Those of you missing the old Convore discussions might find a happy home here.
Core developer, Luke Plant, has a bone to pick with Django being labeled as an "MVC" framework. He outlines why Django doesn't fit into the classic model and the confusion lumping them together causes.
Links of Interest
In issue #11 we linked to
part 1
and now Arun is back with Part 2, building out user profiles and registration.
Eight years ago last week, Adrian Holovaty presented an early version of Django to "oohs and ahhs" at Chicago's Python Users Group, ChiPy. Here's a link back to that original blog post.
PyPI outages got you down? Check out devpi. It's your own PyPI server, as well as a client making it easy to upload packages and manage users in your system.
Are you a Django lurker or know somebody that wants to get involved, but is scared of the command line? This is a great instructional post that walks somebody with no experience on the command line through the process of installing Django. The post is accompanied by two videos as well.
Some helpful tips on how to use querysets without accidentally incurring more database hits than expected or loading large amounts of data into memory all at once.
An opinionated post by Sentry developer David Cramer on his affinity for uWSGI as a Python web server over other options such as gunicorn. He outlines the setup he uses to help Sentry withstand the barrage of requests it receives daily.
On sites with lots of user generated content, getting a workable development environment in place can be a challenge. While database dumps are usually small enough to pass around, multiple gigs of files aren't. This post presents a solution that lets you default to local storage, but fallback to a different storage if files aren't found.
Python 3.4 will be landing a
singledispatch
decorator. This article goes in-depth into what that means and when you'd use it with several examples from the Django world.
An example Salt project to pave a Vagrant box with a sane Django development environment in a single command. Some interesting choices within, including using the newer
wheel format
for packaging.
While Django's test runner takes care of cleaning up the database between runs, it doesn't do the same thing with files uploaded during the tests. This blog post from Mark Lavin introduces a Mixin that forces the test runner to clean up
MEDIA_ROOT
after each run.
New & Updated Packages
-
django-dotenv
A quick addition to
manage.py
to allow it to pick up your Heroku environment variables from
.env
.
-
django-rest-swagger
A sleek auto-documented API interface for django-rest-framework.
-
django-hosts
Routes requests for specific hosts to different URL schemes.
-
flower
A web based tool for monitoring and administrating Celery clusters.
Django Jobs
Thanks for reading. See you in a couple weeks!