No project description provided
Project description
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-2.0.0.tar.gz
(18.7 kB
view hashes)
Built Distribution
Close
Hashes for garpix_cart-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66b348b7291211bcc9a1f86dacbb8f22ab85763f99d0f645830c40ceff2cc8e0 |
|
MD5 | 44db65c772ebb747d25b8e161ff3b823 |
|
BLAKE2b-256 | 1c0daf04dd8890149ce872fa8a00f12abb8ce1733b25ac131fe08125480de6eb |