I build software with Python, Django, ReactJS & React-Native. Every day. All day long.

Maintaining Reusable Django Apps with Tox 

How to provide migrations for both, Django 1.6 & 1.7

Django 1.7 was a huge release with tons of great new features.

One major change is that South has been discontinued and Django now provides migrations in it's core.

This raises a problem for maintainers of reusable apps, like me and my team:

How can we provide migrations ...

Django Template Fragment Caching 

Speed up your site with Memcached and Template Fragment Caching

Granted, when you look at the frontpage of publishizer.com you will say that it doesn't show much content, but even this simple site loads about 20 different partial templates and performs more than a hundred database queries.

And what for? It rarely ever changes much. If we would ...

Django-compressor and Amazon S3 

Use local offline compression and serve compressed files via Amazon S3

As described in my last post we are serving the media files that are uploaded by our users via Amazon S3. We do not serve our static files via S3 because it slows down our deployment. ./manage.py collectstatic would currently find more than 280 files and it would take ...

Django-Storages and Amazon S3 

How to serve your media files via Amazon's Simple Storage Service

Yesterday I migrated the media files of Publishizer.com to Amazon's Simple Storage Service. This relatively simple task took me almost five hours and was quite a frustrating experience, so I thought I better write this down for later reference.

1. Create a Group

Django And related_names 

Be A Good Citizen And Create Good Related Names

If you are a Django developer and if you create reusable apps, please do everyone else a favour: be a good citizen and add related names to all your foreign keys.

Why? For example, you cannot add Mezzanine and django-cms to the same project because both apps have a Page ...

Migrating Apps from simple-translation to django-hvad 

Another Lessons Learned While Getting Ready for django-cms 3.0

This is the second post in a small series about problems that might occur when migrating from django-cms 2 to 3.

In my first post I described how to get rid of the M2MPlaceholderField.

This post will deal with the migration from simple-translation to django-hvad.

As mentioned in my first ...

Getting Rid of M2MPlaceholderFields 

Because You Can't Use Them With django-cms 3 Any More

In my last post I gave an overview over some hurdles I had to overcome in order to migrate django-multilingual-news. to django-cms 3.

We can't use the M2MPLaceholderAdmin any more because it uses a widget that no longer exists in django-cms 3. We also don't need to use ...

Migrating to django-cms 3 

The Challenges You Might Face When Migrating Apps To django-cms 3

You might have heard it: django-cms 3 is in beta now, so a final release might be released soon. For a long time we had used cmsplugin-blog with all our django-cms installations. Unfortunately it was lacking many features that we always needed, didn't have much code coverage and didn ...


Run Tasks Automatically on File System Changes

I have tried many file system watchers so far but none of them worked nicely under Ubuntu and OSX with the same settings.

Recently I stumbled upon observr which is a fork of the maybe better known but abandoned watchr.

Installation is super simple, just make sure that you have ...

OSX Django Toolbelt 

Everything You Need to Build Django Apps on OSX

Every time I mentor someone about web development with Django, we spend countless hours setting up his or her development machine. I'm getting sick of it, so I thought I might write it all down.

This post will help you to setup a fresh MacBook in such a way ...