Flaviu's Blog - Read'n'Code

The State of eCommerce in Django

So, you’re looking for a reusable, extendable, pony-powered eCommerce app?

Here’s what’s out there:


Most well known. Huge, does everything you and your brother could ever want, but the client, that’s another story.

So, you’re in the code, and hours go by because the Product models.py has 1570 lines and it turns out it was a problem with PriceAdjustmentCalc, whatever that does.

Lightning Fast Shop

Full blown solution (like satchmo), with batteries included, docs, tests, demo, and a lot of code. So regardless whether you need it or not, you get it all. And then, if you need something different, you’ll have to ack and grep a bit.


Still in early development, but very straightforward and well documented so far. Actively developed and a good starting point for most use cases. Very pluggable and customizable products, categories and variants.

Same dude also made mamona, which is a nice payment abstraction mechanism.


Made by the FeinCMS people. A pretty solid, simple, pluggable alternative for a “shop.” docs, tests, nice code. It makes you write your own urls and views by leveraging some of the model interface it has.

The examples are pretty simple and only offer a product list and detail. I think doing more complex things will require a bunch of code, and the framework doesn’t seem to do much to make that process easier for you.


Pretty nice, but a plugin for mezzanine, to which it’s tightly coupled. So, more code to sift through. Yes! Also, not very modular, with long functions, though it’s no satchmo.


Made by the django-cms guys. 1.3 ready. Good intentions, no real example, or tests. EDIT: It does have tests and a simple example. See comments below.

Simple products you can subclass. You can add a plugin for variants, and I am guessing categories. Fairly straightforward, but perhaps a bit simplistic, which is… meh.


Early stage, no docs, no tests, pretty solid first attempt, bitbucket :(


Easy to set up, but lacks the complexity of categories and variants, or the abstraction of common functionality most options above offer.

For me it would be between Satchless and Plata, and I would choose Satchless because it seems like the project I would enjoy contributing to the most.


Fork Flaviu on GitHub