General Settings

This is a small list of the settings defined in django SHOP.


A list (or iterable) of payment backend class paths. These classes will be used as the active payment backends by the checkout system, and so anything in this list will be shown to the customer for him/her to make a decision


In a similar fashion, this must be a list of shipping backends. This list is used to display to the end customer what shipping options are available to him/her during the checkout process.


These modifiers function like the django middlewares. The cart will call each of these classes, in order, every time it is displayed. They are passed every item in the cart, as well as the cart itself.


If True, all views after the CartDetails view will need the user to be authenticated. An anonymous user will be redirected to your login url. Please read more on authentication in Django’s official authentication documentation . By default it’s set to False.


Used by the priceformat template filter to format the price. Default is '%0.2f'

Backend specific Settings

Some backends define extra settings to tweak their behavior. This should be an exhaustive list of all of the backends and modifiers included in the trunk of django SHOP.


(Optional) The “flat rate” shipping module uses this to know how much to charge. This should be a string, and will be converted to a Decimal by the backend.

Extensibility Settings

Theses settings allow developers to extend the shop’s functionality by replacing models with their own models. More information on how to use these settings can be found in the /howto/how-to-extend-django-shop-models section.


(Optional) A python classpath to the class you want to replace the Cart model with. Example value: myproject.models.MyCartModel


(Optional) A python classpath to the class you want to replace the shop.addressmodel.models.Address model with. See /howto/how-to-use-your-own-addressmodel for a more complete example.

Example value: myproject.models.MyAddressModel


(Optional) A python classpath to the class you want to replace the shop.models.Order model with.

Example value: myproject.models.MyOrderModel