No project description provided
Project description
User Cart module for Django/DRF projects. Part of GarpixCMS.
Quickstart
Install with pip
$ pip install garpix_cart
Add the garpix_cart to your INSTALLED_APPS:
# settings.py
INSTALLED_APPS = [
# ...
'garpix_cart',
]
Make migrations and migrate database:
$ ./manage.py makemigrations
$ ./manage.py migrate
Add to urls.py:
urlpatterns = [
# ...
path('', include('garpix_cart.urls'))
]
Customize
By default, you will see in settings.py:
GARPIX_CART_SESSION_KEY = 'cart' # cart session key
GARPIX_CART_MIXIN = 'garpix_cart.mixins.CartMixin' # base Cart mixin to model
GARPIX_CART_SESSION_CLASS = 'garpix_cart.base.BaseCartSession' # base cart session core
GARPIX_CART_SESSION_HANDLER_CLASS = 'garpix_cart.base.BaseCartHandler' # base cart handler, which inherit all handlers
Easy way to customize
For example, we want to have our own BaseCartHandler:
override as needed;
# base.py
from garpix_cart.base import BaseCartHandler
class CustomHandler(BaseCartHandler):
def validate(self, products) -> List[Dict[str, Any]]:
return products
Where products is received data from request
Change handler in settings.py;
# settings.py
GARPIX_CART_SESSION_HANDLER_CLASS = 'app.base.CustomHandler'
This work fine!
The hard way to customize
Create your class inherited from abstract;
# base.py
from garpix_cart.abstracts import AbstractCartHandler
class CustomHandler(AbstractCartHandler):
def validate(self, products) -> List[Dict[str, Any]]:
# method validates the data from the request
...
def is_valid(self, products) -> bool:
# check data is valid
...
def make(self, products) -> bool:
# make if data is valid
# always returns modify_session() from CartSession class
...
def error_log(self, products) -> Optional[str]:
# get errors if they raises
...
Change handler in settings.py;
# settings.py
GARPIX_CART_SESSION_HANDLER_CLASS = 'app.base.CustomHandler'
This work fine!
Developed by Garpix / https://garpix.com
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
garpix_cart-1.0.0.tar.gz
(15.3 kB
view hashes)
Built Distribution
Close
Hashes for garpix_cart-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ea8f6281392a6730c6076d373eeaaaa7d6a292e84ea5ffd437c388103fb1177 |
|
MD5 | 8081a47b38ee7ff9d215bc93fc54663f |
|
BLAKE2b-256 | 3350b17a36f291b707ad03a47f3d3c972bf47aa7e85179b1cad32fe5d305174c |