Django Oscar
Domain-driven e-commerce framework for Django
Oscar is an open-source e-commerce framework for Django. Rather than a turnkey store, it provides flexible building blocks that can be overridden to model complex commerce domains.
Key features
- Highly customizable models
- Class-based override pattern
- Strong catalog and pricing
- Django ecosystem integration
Pros & cons
Strengths
- Extremely flexible
- Good for complex domains
Trade-offs
- Requires Django expertise
- Not a ready-made store
Django Oscar replaces
Last reviewed Sep 13, 2026 · 798 words
Django Oscar is not a store you install; it is a Django application you build a store on. If you cannot already write a Django model, view and template from memory, choose Saleor, Bagisto or PrestaShop instead and you will be selling next week. If you can, Oscar is the most complete set of commerce primitives in the Python world, and it will bend to model a business that would break a turnkey platform.
What framework means here
The repository ships a sandbox site you can run in minutes, and it is a working shop with a catalogue, basket, checkout and a staff dashboard. That sandbox is a demonstration, not a product. The intended workflow is to start a Django project, install Oscar, and then fork whichever of its apps you need to change:
python manage.py oscar_fork_app catalogue myshop/apps
That copies the app skeleton into your project so you can subclass AbstractProduct, replace a view, or swap a template while the rest of Oscar carries on unchanged. Every app is built for this: catalogue, basket, checkout, order, partner (stock records and fulfilment), offer (promotions), voucher, customer, dashboard. You are expected to override things, and the class-based override pattern is the whole design.
Where it wins: the awkward business
Oscar models commerce the way an analyst would, not the way a template would. A product has a product class with typed attributes; the same product can carry several stock records from several partners at different prices; offers are built from conditions and benefits you compose rather than pick from a list; ranges group products for pricing or eligibility rules. That is overkill for 50 SKUs of your own merchandise. It is exactly right for a marketplace with third-party sellers, a B2B catalogue with per-account pricing, a parts shop with compatibility rules, or any store whose owner says "it is like a normal shop except" and then talks for 10 minutes.
Where it leaves you to do the work
Payment is not in the core. Oscar gives you the checkout flow and a payment abstraction, and you wire in a gateway through a third-party package or your own view; PayPal and Adyen packages exist, Stripe integrations are community-maintained, and all of them require reading code. The storefront is server-rendered Django templates on Bootstrap, which is fine and dated in equal measure; a headless or React front end means a separate API layer, where Saleor, built GraphQL-first, is years ahead. Search is through django-haystack with a backend you pick, and a real shop wants Solr or Elasticsearch behind it, which is another service to run.
Oscar's release cadence has also historically lagged Django's by months. When a Django security release lands, you may be waiting for compatibility before you can take it, which is a real cost for a store handling payments.
Running it is running a Django app
Deployment is whatever you already do for Django: Gunicorn or uWSGI behind Nginx or Caddy, PostgreSQL, Redis and Celery for order emails and background jobs, collectstatic to a bucket or a directory, and a search backend. The 1 GB in the listing is honest for the app process plus Postgres on one small box; add the search service and you are at 2 GB. Backups are Postgres dumps plus the media directory, and there is nothing exotic to it. The hard part is never operations; it is the months of development before there is anything to operate.
Who actually runs it
Agencies building a bespoke shop for a client, and in-house development teams at retailers whose requirements outgrew a platform. That is a narrow and well-served niche, and Oscar is a mature answer to it after 15 years. Self-hosters wanting to sell their own products, run a small craft shop, or add a store to a community site are not the audience, and the rest of the ecommerce category is where their answer lives: PrestaShop or Bagisto for a full store with an admin panel, Medusa if the team is JavaScript rather than Python and wants headless.
What I'd do
If you have a Django developer on hand and a business model that does not fit a product page with a price on it, start from the sandbox, fork only the apps you need, budget 3 months before launch, and pick a payment package before you write a line of custom code, because it will shape your checkout. Everyone else, and that is most people reading a self-hosting directory: choose a turnkey store, and if the urge is really to escape Shopify's fees, PrestaShop gets you there this week with a fraction of the effort.
Compare Django Oscar
24 head-to-head comparisons.
- Django Oscar vs Medusa
- Django Oscar vs Bagisto
- Django Oscar vs Saleor
- Django Oscar vs Spree Commerce
- Django Oscar vs Reaction Commerce
- Django Oscar vs WooCommerce
- Django Oscar vs EverShop
- Django Oscar vs nopCommerce
- Django Oscar vs PrestaShop
- Django Oscar vs Aimeos
- Django Oscar vs Sylius
- Django Oscar vs Vendure
- Django Oscar vs OpenCart
- Django Oscar vs QOR Commerce
- Django Oscar vs Solidus
- Django Oscar vs Shopizer
- Django Oscar vs Shopware
- Django Oscar vs Django Shop
- Django Oscar vs Shuup
- Django Oscar vs Smartstore
- Django Oscar vs GrandNode
- Django Oscar vs Thelia
- Django Oscar vs thirty bees
- Django Oscar vs OXID eShop
Similar e-commerce platforms apps
Medusa
E-commerce PlatformsComposable commerce engine for developers
Replaces Shopify, commercetools
Bagisto
E-commerce PlatformsLaravel-based open-source e-commerce platform
Replaces Shopify, WooCommerce
Saleor
E-commerce PlatformsGraphQL-first headless commerce platform
Replaces Shopify, commercetools
Spree Commerce
E-commerce PlatformsOpen-source Rails e-commerce platform
Replaces Shopify, BigCommerce
QloApps
E-commerce PlatformsHotel booking and reservation commerce system
Replaces Booking.com, Cloudbeds
Reaction Commerce
E-commerce PlatformsHeadless GraphQL commerce microservices platform
Replaces Shopify, commercetools