Domain-driven e-commerce for Django
… image:: https://github.com/django-oscar/django-oscar/raw/master/docs/images/logos/oscar.png
:target: http://oscarcommerce.com
Oscar is an e-commerce framework for Django designed for building domain-driven
sites. It is structured such that any part of the core functionality can be
customised to suit the needs of your project. This allows a wide range of
e-commerce requirements to be handled, from large-scale B2C sites to complex B2B
sites rich in domain-specific business logic.
Contents:
… contents:: :local:
… image:: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/oscarcommerce.thumb.png
:target: http://oscarcommerce.com
… image:: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/readthedocs.thumb.png
:target: https://django-oscar.readthedocs.io/en/latest/
Further reading:
Official homepage
_Sandbox site
_ (automatically deployed via the official docker sandbox image)Documentation
_ on the excellent readthedocs.org
_Docker image
_ on http://hub.docker.com/django-oscar group
_ - mailing list for questions and announcementsTwitter account for news and updates
_Discord
_PyPI page
_Transifex project
_ - translating Oscar made easy… start-no-pypi
Continuous integration status:
… image:: https://github.com/django-oscar/django-oscar/workflows/Tests/badge.svg
… image:: http://codecov.io/github/django-oscar/django-oscar/coverage.svg?branch=master
:alt: Coverage
:target: http://codecov.io/github/django-oscar/django-oscar?branch=master
… image:: https://requires.io/github/django-oscar/django-oscar/requirements.svg?branch=master
:target: https://requires.io/github/django-oscar/django-oscar/requirements/?branch=master
:alt: Requirements Status
PyPI status:
… image:: https://img.shields.io/pypi/v/django-oscar.svg
:target: https://pypi.python.org/pypi/django-oscar/
Docs status:
… image:: https://readthedocs.org/projects/django-oscar/badge/
:target: https://readthedocs.org/projects/django-oscar/
:alt: Documentation Status
… end-no-pypi
… _Official homepage
: http://oscarcommerce.com
… _Sandbox site
: https://latest.oscarcommerce.com
… _Docker image
: https://hub.docker.com/r/oscarcommerce/django-oscar-sandbox/
… _Documentation
: https://docs.oscarcommerce.com/en/latest/
… _readthedocs.org
: http://readthedocs.org
… _Twitter account for news and updates
: https://twitter.com/#!/django_oscar
… _django-oscar group
: https://groups.google.com/forum/?fromgroups#!forum/django-oscar
… _PyPI page
: https://pypi.python.org/pypi/django-oscar/
… _Transifex project
: https://www.transifex.com/projects/p/django-oscar/
… _Discord
: https://discord.gg/NMwfZuJnJZ
Core team:
David Winterbottom
_ (Twitter @codeinthehole
_)Maik Hoepfel
_ (Twitter @maikhoepfel
_)Markus Bertheau
_Michael van Tellingen
_Alexander Gaevsky
_Samir Shah
_… _David Winterbottom
: https://github.com/codeinthehole
… _@codeinthehole
: https://twitter.com/codeinthehole
… _Maik Hoepfel
: https://github.com/maikhoepfel
… _@maikhoepfel
: https://twitter.com/maikhoepfel
… _Markus Bertheau
: https://github.com/mbertheau
… _Michael van Tellingen
: https://github.com/mvantellingen
… _Alexander Gaevsky
: https://github.com/sasha0
… _Samir Shah
: https://github.com/solarissmoke
The currently supported versions of Oscar are:
±--------±---------------+
| Version | End of support |
+=+========+
| 3.2 LTS | January 2026 |
±--------±---------------+
| 3.1 | April 2022 |
±--------±---------------+
| 3.0 | May 2021 |
±--------±---------------+
| 2.2 LTS | August 2023 |
±--------±---------------+
Supported versions are eligible for fixes for data loss bugs and security issues. Releases designated as
Long-term support (LTS) releases will receive support for an extended period of 3 years from their release date.
Sandbox
These are screenshots from the 'sandbox' example site that ships with
Oscar. It sports a simple design built with Twitter's Bootstrap_ and provides a
good starting point for rapidly building elegant e-commerce sites.
.. _Bootstrap: https://getbootstrap.com/
.. image:: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/browse.thumb.png
:target: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/browse.png
.. image:: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/detail.thumb.png
:target: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/detail.png
.. image:: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/basket.thumb.png
:target: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/basket.png
.. image:: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/dashboard.thumb.png
:target: https://github.com/django-oscar/django-oscar/raw/master/docs/images/screenshots/dashboard.png
The sandbox site is also available to browse at https://latest.oscarcommerce.com.
The sandbox site can be set-up locally `in 5 commands`_. Want to
make changes? Check out the `contributing guidelines`_.
.. _`in 5 commands`: https://django-oscar.readthedocs.io/en/latest/internals/sandbox.html#run-the-sandbox-locally
.. _`contributing guidelines`: https://django-oscar.readthedocs.io/en/latest/internals/contributing/index.html
Extensions
----------
The following extensions are stable and ready for use:
* django-oscar-api_ - RESTful JSON API for django-oscar
* django-oscar-odin_ - Odin Resources and mappings to Oscar models
* django-oscar-adyen_ - Integration with the Adyen payment gateway
* django-oscar-datacash_ - Integration with the DataCash_ payment gateway
* django-oscar-paypal_ - Integration with PayPal. This currently supports both
`Express Checkout`_ and `PayFlow Pro`_.
* django-oscar-paymentexpress_ - Integration with the `Payment Express`_ payment
gateway
* django-oscar-accounts_ - Managed accounts (can be used for giftcard
functionality and loyalty schemes)
* django-oscar-stores_ - Physical stores integration (opening hours, store
locator etc)
* django-oscar-sagepay-direct_ - Integration with "DIRECT" part of Sagepay's API
* django_oscar_docdata_ - Integration with Docdata_ payment gateway.
* django_oscar_invoices_ - Invoices or receipts generation for the
Oscar
.. _django-oscar-api: https://github.com/django-oscar/django-oscar-api
.. _django-oscar-odin: https://github.com/django-oscar/django-oscar-odin
.. _django-oscar-adyen: https://github.com/django-oscar/django-oscar-adyen
.. _django-oscar-datacash: https://github.com/django-oscar/django-oscar-datacash
.. _django-oscar-paymentexpress: https://github.com/django-oscar/django-oscar-paymentexpress
.. _`Payment Express`: http://www.paymentexpress.com
.. _DataCash: http://www.datacash.com/
.. _django-oscar-paypal: https://github.com/django-oscar/django-oscar-paypal
.. _`Express Checkout`: https://www.paypal.com/uk/cgi-bin/webscr?cmd=_additional-payment-ref-impl1
.. _`PayFlow Pro`: https://merchant.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=merchant/payment_gateway
.. _django-oscar-accounts: https://github.com/django-oscar/django-oscar-accounts
.. _django-oscar-easyrec: https://github.com/django-oscar/django-oscar-easyrec
.. _EasyRec: http://easyrec.org/
.. _django-oscar-stores: https://github.com/django-oscar/django-oscar-stores
.. _django-oscar-sagepay-direct: https://github.com/django-oscar/django-oscar-sagepay-direct
.. _eWay: https://www.eway.com.au
.. _django_oscar_docdata: https://github.com/django-oscar/django-oscar-docdata
.. _Docdata: https://www.docdatapayments.com/
.. _django_oscar_invoices: https://github.com/django-oscar/django-oscar-invoices
The following are community-written extensions:
* django-oscar-payments_ - Pluggable payments for Oscar
* oscar-sagepay_ - Payment integration with Sage Pay
* django-oscar-support_ - Customer services and ticketing plugin for Oscar
* django-oscar-api-checkout_ - Oscar API Checkout is a layer on top of
django-oscar and django-oscar-api, adding support for more complex and
multiple payment options during an API checkout.
* django-oscar-bundles_ - Oscar Bundles adds multi-product bundles to
django-oscar.
* django-oscar-bluelight_ - `Bluelight Specials`_ is a layer on-top of
django-oscar that adds support for more complex offers and vouchers,
including conjunctive and disjunctive compound conditions.
* django-oscar-cch_ - Oscar CCH is a plugin for django-oscar adding support
for calculating taxes using the Wolters Kluwer `CCH Sales Tax Office`_ SOAP
API.
* django-oscar-cybersource_ - Oscar CyberSource is a plugin for Oscar API
Checkout that makes it possible to use
`CyberSource Secure Acceptance Silent Order Post`_ as an order payment
method.
* django-oscar-wfrs_ - Oscar WFRS is a plugin for django-oscar-api-checkout_
that makes it possible to use `Wells Fargo Retail Services`_ as an order
payment method.
* django-oscar-zarinpal-gateway_ - Payment gateway integration for Zarinpal Payments in django-oscar. Zarinpal Payments is a large payment gateway based in The I.R. Iran .
Let us know if you're writing a new one!
.. _django-oscar-payments: https://github.com/Lacrymology/django-oscar-payments
.. _oscar-sagepay: https://github.com/udox/oscar-sagepay
.. _django-oscar-support: https://github.com/SalahAdDin/django-oscar-support
.. _django-oscar-api-checkout: https://github.com/thelabnyc/django-oscar-api-checkout
.. _django-oscar-bundles: https://github.com/thelabnyc/django-oscar-bundles
.. _django-oscar-bluelight: https://github.com/thelabnyc/django-oscar-bluelight
.. _`Bluelight Specials`: https://en.wiktionary.org/wiki/blue-light_special
.. _django-oscar-cch: https://github.com/thelabnyc/django-oscar-cch
.. _`CCH Sales Tax Office`: http://www.salestax.com/solutions/calculation/cch-salestax-office/
.. _django-oscar-cybersource: https://github.com/thelabnyc/django-oscar-cybersource
.. _`CyberSource Secure Acceptance Silent Order Post`: https://www.cybersource.com/products/payment_security/secure_acceptance_silent_order_post/
.. _django-oscar-wfrs: https://github.com/thelabnyc/django-oscar-wfrs
.. _`Wells Fargo Retail Services`: https://retailservices.wellsfargo.com/
.. _django-oscar-zarinpal-gateway: https://github.com/mojtabaakbari221b/django-oscar-zarinpal-gateway
Videos
------
Videos with talks about Oscar:
* `An introduction to Django-oscar`_ by `David Winterbottom`_, DjangoCon Europe 2014
* `Oscar and the art of transactional Django applications`_ by `David Winterbottom`_, PyCon PL 2014
* `The Tale of Oscar and the API`_ by `Kees Hink`_, PyGrunn 2017
.. _`An introduction to Django-oscar`: https://youtu.be/o4ol6EzGDSw
.. _`Oscar and the art of transactional Django applications`: https://youtu.be/datKUNTKYz8
.. _`The Tale of Oscar and the API`: https://youtu.be/YPnKoiyGIHM
.. _`Kees Hink`: https://github.com/khink
License
-------
Oscar is released under the permissive `New BSD license`_ (see summary_).
.. _summary: https://tldrlegal.com/license/bsd-3-clause-license-(revised)
.. _`New BSD license`: https://github.com/django-oscar/django-oscar/blob/master/LICENSE
Contributing to the Project
---------------------------
We welcome contributions to the project! Whether it's a bug fix, a new feature, or just some documentation improvements, your contributions are greatly appreciated.
To contribute, please follow these steps:
Fork the project repository on GitHub.
Clone your forked repository to your local machine.
Create a new branch for your changes.
Make your changes, and commit them with clear commit messages.
Push your changes to your forked repository.
Open a pull request on the original project repository, explaining your changes.
Please note that all contributions are subject to review, and may be modified or rejected if they do not meet the project's standards.
Code of Conduct
---------------
We want everyone involved in the project to feel safe and respected, regardless of their background or identity. As such, we have adopted the following Code of Conduct:
Our Pledge
----------
In the interest of fostering an open and welcoming environment, we pledge to:
Be friendly and welcoming to all contributors.
Respect differing viewpoints and experiences.
Accept constructive criticism and feedback graciously.
Focus on what is best for the community and the project.
Our Standards
-------------
We expect all contributors to:
Use welcoming and inclusive language.
Be respectful of differing viewpoints and experiences.
Gracefully accept constructive criticism.
Focus on what is best for the community and the project.
Our Responsibilities
--------------------
Project maintainers are responsible for:
Enforcing the Code of Conduct.
Investigating and addressing reported violations of the Code of Conduct.
Making clear and fair decisions about disciplinary actions for violations of the Code of Conduct.
Scope
This Code of Conduct applies to all contributors, both online and offline, in all project spaces, including but not limited to project forums, mailing lists, GitHub repositories, and in-person events.
Enforcement
-----------
If you witness or experience unacceptable behavior, or have any other concerns, please notify the project maintainers at [email protected] & [email protected]. All reports will be kept confidential, and the project maintainers will work with you to determine a resolution.
We reserve the right to take any action deemed necessary to enforce this Code of Conduct, including but not limited to warning the offender, banning the offender from the project's spaces, or reporting the offender to relevant authorities.
Case studies
------------
Oscar is still in active development but is used in production by a range of
companies, from large multinationals to small, boutique stores. See
http://oscarcommerce.com/cases.html for an overview.
Many more on the way. If you use Oscar in production, please `let us know`_.
.. _`let us know`: https://github.com/django-oscar/oscarcommerce.com/issues
Looking for commercial support?
If you are interested in having an Oscar project built for you, or for
development of an existing Oscar site then please get in touch via [email protected]
_.