A Django based shop system

Overview

django-SHOP

Django-SHOP aims to be a the easy, fun and fast e-commerce counterpart to django-CMS.

Build Status PyPI version Python versions Join the chat at https://gitter.im/awesto/django-shop Software license Twitter Follow

Here you can find the full documentation for django-SHOP.

Build the database model out of the product's properties – not vice versa

Most e-commerce systems are shipped with a predefined database model for products. But products can vary a lot, and it simply is impossible to create a model which fits for all of them. This is esspecially true for products with a hierarchy of variants. In many popular e-commerce platforms, you either have far too many attributes per product, and/or the really required attributes are missing.

In django-SHOP implementations, the product models reflect their pysical properties making it possible to create complete and deep hierarchies of variations, but without having to fiddle with unneeded properties. It furthermore avoids the need for an Entity Attribute Value Model, which is considered a database anti-pattern, because it produces far too many table joins, when filtering by property.

Don't build pages using hard-coded templates – compose them

With the advent of frameworks, such as Angular, React, Vue and Aurelia, building web-applications shifted from a page-centric to a component-based approach.

In django-SHOP, you are in full control over the page's layout, since all components are encapsulated and independent from each other. This means that instead of adopting the Catalog, Cart, Checkout and Order pages, use the django-CMS plugin system to compose everything required for those pages.

All Views are either HTML or RESTful services

Browser based navigation is important, but nowadays it's only one of many channels clients use to communicate with a web-server. Consider Single Page Applications or other native clients, where we use RESTful APIs instead of pure HTTP.

This substantially reduces the payload having to be transferred. It furthermore gives the client a smoother user experience, since only the content has to be updated, rather than having to do full page reloads.

Programmable cart modifiers

During checkout, taxes have to be applied or attributed. Depending on the shipping destination, the product group and other factors, this computation can either be simple or quite demanding. Django-SHOP offers a pluggable interface to create modifiers which calculate the cart's totals, taxes and other costs.

This same interface can be extended to compute the weight and shipping costs. It also can be used for subtracting discounts or to add additional charges.

Programmable workflow for fulfilment and delivery

Fulfilling and shipping orders probably requires the most individual adaption for an e-commerce business. Django-SHOP offers a programmable interface for order by using a finite state machine to adopt the workflow. Each order may have several states, but the only actions allowed are limited to explicitly defined state transitions.

It's modular

Whenever possible, extra features should be added by third party libraries. This implies that django-SHOP aims to provide an API, which allows merchants to add every feature they desire.

Currently there are third party libraries for several Payment Service Providers, such as PayPal, Stripe, BS-PayOne and Viveum. An open interface allows you to add any other provider.

Shipping Service Providers may be added as third party library as well. With SendCloud, ship your orders using one or more parcel services available for your region.

Start by building your own demo

Instead of providing an accessible online demo, django-SHOP can be set up in less than three minutes and preconfigured to your needs. Having access to the product models, you can immediatly start to play arround with, rename, and modify them to reflect the properties of your products. This is the easiest way to get a shop up and running out of the box with the flexibility of a website that you could have built from scratch.

If you want to start with a fresh demo, please use the prepared Cookiecutter template for django-SHOP and follow the instructions.

Audience of django-SHOP users

Specifically, we aim at providing a clean, modular and Pythonic/Djangonic implementation of an e-commerce framework, that a moderately experienced Django developer should be able to pick up and run easily. Pure Django models are used to describe each product type, and so the Django admin can be used to build a minimalistic editor for each of them.

Consultancy

We provide full consultancy support and are available for building complete e-commerce systems based on django-SHOP. Please contact [email protected] for further questions.

Documentation

Read the full documentation on Read-the-docs:

https://django-shop.readthedocs.io/en/latest/

An extremely fast JavaScript and CSS bundler and minifier

Website | Getting started | Documentation | Plugins | FAQ Why? Our current build tools for the web are 10-100x slower than they could be: The main goa

Evan Wallace 34.2k Jan 04, 2023
Vehicle registration using Python, Django and SQlite3

PythonCrud Cadastro de veículos utilizando Python, Django e SQlite3 Para acessar o deploy no Heroku:

Jorge Thiago 4 May 20, 2022
Imparare Django ricreando un sito facsimile a quello Flask

SitoPBG-Django Imparare Django ricreando un sito facsimile a quello Flask Note di utilizzo Necessita la valorizzazione delle seguenti variabili di amb

Mario Nardi 1 Dec 08, 2021
This is raw connection between redis server and django python app

Django_Redis This repository contains the code for this blogpost. Running the Application Clone the repository git clone https://github.com/xxl4tomxu9

Tom Xu 1 Sep 15, 2022
Djang Referral System

Djang Referral System About | Features | Technologies | Requirements | Starting | License | Author 🎯 About I created django referral system and I wan

Alex Kotov 5 Oct 25, 2022
A Django app to initialize Sentry client for your Django applications

Dj_sentry This Django application intialize Sentry SDK to your Django application. How to install You can install this packaging by using: pip install

Gandi 1 Dec 09, 2021
An opinionated Django CMS setup bundled as an Aldryn Addon

Aldryn CMS |PyPI Version| An opinionated django CMS setup bundled as an Aldryn Addon. This package will auto configure django CMS including some extra

Vladimir Bezrukov 1 Nov 12, 2021
Radically simplified static file serving for Python web apps

WhiteNoise Radically simplified static file serving for Python web apps With a couple of lines of config WhiteNoise allows your web app to serve its o

Dave Evans 2.1k Dec 15, 2022
A collection of models, views, middlewares, and forms to help secure a Django project.

Django-Security This package offers a number of models, views, middlewares and forms to facilitate security hardening of Django applications. Full doc

SD Elements 258 Jan 03, 2023
A simple demonstration of integrating a sentiment analysis tool in a django project

sentiment-analysis A simple demonstration of integrating a sentiment analysis tool in a django project (watch the video .mp4) To run this project : pi

2 Oct 16, 2021
Dynamic, database-driven Django forms

Django Dataforms django-dataforms is a wrapper for the Django forms API that lets you dynamically define forms in a database, rather than hard-coding

35 Dec 16, 2022
Django Pickled Model

Django Pickled Model Django pickled model provides you a model with dynamic data types. a field can store any value in any type. You can store Integer

Amir 3 Sep 14, 2022
Full-text multi-table search application for Django. Easy to install and use, with good performance.

django-watson django-watson is a fast multi-model full-text search plugin for Django. It is easy to install and use, and provides high quality search

Dave Hall 1.1k Dec 22, 2022
A GitHub Action for checking Django migrations

🔍 Django migrations checker A GitHub Action for checking Django migrations About This repository contains a Github Action that checks Django migratio

Oda 5 Nov 15, 2022
Get inside your stronghold and make all your Django views default login_required

Stronghold Get inside your stronghold and make all your Django views default login_required Stronghold is a very small and easy to use django app that

Mike Grouchy 384 Nov 23, 2022
Realworld - Realworld using Django and HTMX

Realworld - Realworld using Django and HTMX

Dan Jacob 53 Jan 05, 2023
A django integration for huey task queue that supports multi queue management

django-huey This package is an extension of huey contrib djhuey package that allows users to manage multiple queues. Installation Using pip package ma

GAIA Software 32 Nov 26, 2022
Simple tagging for django

django-taggit This is a Jazzband project. By contributing you agree to abide by the Contributor Code of Conduct and follow the guidelines. django-tagg

Jazzband 3k Jan 02, 2023
Awesome Django Markdown Editor, supported for Bootstrap & Semantic-UI

martor Martor is a Markdown Editor plugin for Django, supported for Bootstrap & Semantic-UI. Features Live Preview Integrated with Ace Editor Supporte

659 Jan 04, 2023
Learn Python and the Django Framework by building a e-commerce website

The Django-Ecommerce is an open-source project initiative and tutorial series built with Python and the Django Framework.

Very Academy 275 Jan 08, 2023