DEV.co
Open-Source Ecommerce · django-oscar

django-oscar

Django-Oscar is a domain-driven e-commerce framework for Django that lets you build custom online stores by selectively overriding core functionality. It's designed for both simple B2C sites and complex B2B applications with business-specific logic.

Source: GitHub — github.com/django-oscar/django-oscar
6.6k
GitHub stars
2.3k
Forks
Python
Primary language
BSD-3-Clause
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorydjango-oscar/django-oscar
Ownerdjango-oscar
Primary languagePython
LicenseBSD-3-Clause — OSI-approved
Stars6.6k
Forks2.3k
Open issues151
Latest release4.1 (2025-10-29)
Last updated2026-07-08
Sourcehttps://github.com/django-oscar/django-oscar

What django-oscar is

Oscar provides a modular Django application with customizable models, views, and business logic for e-commerce operations (catalog, basket, orders, payments). It ships with a sandbox reference implementation, integrates with multiple payment gateways via extensions, and supports both API-first and template-based frontends.

Quickstart

Get the django-oscar source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/django-oscar/django-oscar.gitcd django-oscar# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Custom B2B E-Commerce Platforms

Build complex domain-driven procurement or wholesale sites where standard e-commerce platforms fall short. Oscar's customization hooks allow you to embed business-specific pricing, approval workflows, and account management.

Django-Native Storefronts

Deploy e-commerce directly within existing Django projects without replacing your infrastructure. Leverage your Django ORM, authentication, and middleware while gaining full catalog and order management out of the box.

Multi-Tenant or Marketplace Applications

Extend Oscar's core models to support multiple sellers, stores, or brand variations. The framework's design encourages subclassing and customization, making it suitable for SaaS e-commerce platforms.

Implementation considerations

  • Plan for model customization early: Oscar models are designed to be subclassed; decide which core models (Product, Order, Basket, etc.) need extension before first deployment.
  • Database schema will be substantial: Oscar creates 20+ tables for products, orders, shipping, and fulfillment; ensure migrations and scaling strategy are in place.
  • Payment gateway integration is mandatory: Oscar ships no built-in payment processor; you must integrate an extension (Adyen, PayPal, Stripe via community packages, etc.) before handling real transactions.
  • Admin dashboard requires configuration: The Oscar admin interface is powerful but requires customization for your domain; budget time for template and form tweaks.
  • Testing complexity increases with customization: Oscar's service layer and model hooks mean integration tests are essential; plan for test suite growth as you override functionality.

When to avoid it — and what to weigh

  • Need Headless-First Architecture — Oscar is tightly integrated with Django's ORM and template system. While django-oscar-api exists, it is a separate extension; Oscar core is not primarily a headless commerce engine.
  • Require Out-of-the-Box PCI Compliance — Oscar handles order workflows but payment processing depends on third-party gateway integrations. PCI compliance is your responsibility; Oscar does not provide built-in tokenization or PCI handling.
  • Looking for Minimal Overhead — Oscar adds considerable model and business logic to your Django project. If you need a lightweight cart-only library, consider smaller packages like django-cart or django-shop.
  • Non-Python/Non-Django Stack — Oscar is Python/Django-only. If your team uses Node.js, .NET, or Go, or if you cannot run Django, this framework is incompatible.

License & commercial use

BSD-3-Clause (New/Revised): Permissive open-source license permitting commercial use, modification, and redistribution with attribution and liability disclaimer.

BSD-3-Clause is a permissive OSI-approved license that explicitly permits commercial use and closed-source derivatives. No license review required for commercial deployment. However, verify that any third-party extensions (payment gateways, etc.) you add also have compatible or permissive licenses.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityModerate
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Oscar delegates payment data handling to third-party gateways (appropriate for PCI compliance). Core framework handles order/user workflows but does not provide built-in CSRF, XSS, or injection protection beyond Django's defaults—apply Django security best practices (middleware, form handling, SQL parameterization). Review any custom payment logic and extension code carefully. No public security audit data provided; unknown vulnerability history.

Alternatives to consider

Saleor (GraphQL/Headless)

Modern headless commerce with GraphQL API and no Django dependency; better for API-first or multi-frontend strategies. Heavier infrastructure (Node.js, Postgres required).

WooCommerce (WordPress)

Lower entry barrier for simple stores, massive plugin ecosystem, built-in hosting support. Less flexible for complex custom logic and non-WordPress environments.

Medusa (Node.js/Headless)

Node-based, API-first commerce engine with modern developer experience. Good fit if you're using JavaScript/TypeScript stack; incompatible if Django-locked.

Software development agency

Build on django-oscar with DEV.co software developers

Devco's Django and e-commerce experts can help you architect, customize, and deploy Django-Oscar for your business needs. Contact us for a technical review.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

django-oscar FAQ

Can I use Oscar with a React or Vue frontend?
Yes, via django-oscar-api (REST), or build a custom JSON API. Oscar itself is Django/template-based, but the API extension enables decoupled frontends.
Do I need to rewrite my models to use Oscar?
No. Oscar models can coexist with your existing Django models. You customize Oscar models by subclassing; your legacy data and models remain separate unless intentionally integrated.
Is Oscar suitable for subscription or recurring billing?
Not natively. Oscar covers one-time orders and basket management. Recurring billing, invoicing, and renewal logic require custom implementation or third-party extensions (e.g., django-oscar-accounts for credits).
What is the learning curve?
Medium-to-high. You need Django expertise, ORM familiarity, and understanding of Oscar's service and model layers. Sandbox setup is quick (5 commands), but production customization requires weeks of learning for complex sites.

Work with a software development agency

Adopting django-oscar is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source ecommerce software in production.

Ready to build a custom e-commerce platform?

Devco's Django and e-commerce experts can help you architect, customize, and deploy Django-Oscar for your business needs. Contact us for a technical review.