Blog

Showing 11 to 15 of 60 blog posts in the technical category.

October 30, 2013
by Tobias McNulty
0 comments

Using strace to Debug Stuck Celery Tasks

Celery is a great tool for background task processing in Django. We use it in a lot of the custom web apps we build at Caktus, and it's quickly becoming the standard for all variety of task scheduling work loads, from simple to highly complex.

Although rarely, sometimes a ...

Continue reading →

October 2, 2013
by Mark Lavin
0 comments

Skipping Test DB Creation

We are always looking for ways to make our tests run faster. That means writing tests which don't preform I/O (DB reads/writes, disk reads/writes) when possible. Django has a collection of TestCase subclasses for different use cases. The common TestCase handles the fixture loading and the ...

Continue reading →

September 18, 2013
by Tobias McNulty
0 comments

Central logging in Django with Graylog2 and graypy

Django's logging configuration facilities, which arrived in version 1.3, have greatly eased (and standardized) the process of configuring logging for Django projects. When building complex and interactive web applications at Caktus, we've found that detailed (and properly configured!) logs are key to successful and efficient debugging. Another ...

Continue reading →

August 7, 2013
by Tobias McNulty
0 comments

Migrating to a Custom User Model in Django

The new custom user model configuration that arrived in Django makes it relatively straightforward to swap in your own model for the Django user model. In most cases, Django's built-in User model works just fine, but there are times when certain limitations (such as the length of the email ...

Continue reading →

July 17, 2013
by Mark Lavin
0 comments

Factory Boy as an Alternative to Django Testing Fixtures

When testing a Django application you often need to populate the test database with some sample data. The standard Django TestCase has support for fixture loading but there are a number of problems with using fixtures:

  • First, they must be updated each time your schema changes.
  • Second, they force you ...

Continue reading →