labd / django-oscar-wagtail

Wagtail integration for Oscar Commerce (or Oscar Commerce integration for Wagtail?)
MIT License
104 stars 33 forks source link
django django-oscar e-commerce wagtail

Django Oscar Wagtail

.. image:: https://travis-ci.org/LabD/django-oscar-wagtail.svg?branch=travis :target: https://travis-ci.org/LabD/django-oscar-wagtail

.. image:: http://codecov.io/github/LabD/django-oscar-wagtail/coverage.svg?branch=master :target: http://codecov.io/github/LabD/django-oscar-wagtail?branch=master

.. image:: https://readthedocs.org/projects/django-oscar-wagtail/badge/?version=latest :target: https://django-oscar-wagtail.readthedocs.io/en/latest/introduction.html

.. image:: https://img.shields.io/pypi/v/django-oscar-wagtail.svg :target: https://pypi.python.org/pypi/django-oscar-wagtail/

This project integrates the Wagtail CMS with Django Oscar for eCommerce. It adds the following features:

Installation

Presuming you have installed Django-Oscar and Wagtail into your Django project.

First install django-oscar-wagtail via PIP:

.. code-block:: bash

pip install django-oscar-wagtail

And add oscar_wagtail to your settings as follows:

.. code-block:: python

INSTALLED_APPS = [
    # ... your other apps
    'oscar_wagtail',
]

Add the URLs to urls.py:

.. code-block:: python

import oscar_wagtail.urls

urlpatterns += [
    url(r'^api/oscar_wagtail/', include(oscar_wagtail.urls)),
]

Fork the catalogue app as described in the oscar documentation_. Then instead of using the AbstractCategory from Oscar use the one from this project as follows:

.. code-block:: python

from oscar_wagtail.abstract_models import AbstractCategory

class Category(AbstractCategory):
    pass

from oscar.apps.catalogue.models import *

If you want to have a CMS button in the Oscar dashboard, add the following to your settings:

.. code-block:: python

OSCAR_DASHBOARD_NAVIGATION.insert(1, {
    'label': 'CMS',
    'icon': 'icon-th-list',
    'url_name': 'wagtailadmin_home',
    'access_fn': lambda user, *args: user.has_perm('wagtailadmin.access_admin')
})

.. _oscar documentation: http://django-oscar.readthedocs.io/en/latest/topics/fork_app.html