Skip to main content

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'))
]

В интернет магазине обычно посетитель начинает искать интересные товары, надеясь добавить несколько из них в свою корзину. Затем по пути к оформлению заказа они решают, создать ли учетную запись пользователя, использовать существующую или продолжить работу в качестве гостя. Здесь все усложняется.

Во-первых, для неаутентифицированных посетителей сайта корзина никому не принадлежит. Но каждая корзина должна быть связана с ее текущим посетителем сайта.

Во-вторых, когда корзина преобразована в заказ, но посетитель хочет продолжить работу в качестве гостя, этот объект заказа должен ссылаться на объект пользователя в базе данных. Такие пользователи будут рассматриваться как фальшивые: не могут войти в систему, сбросить пароль и т.д. Единственная информация, которую необходимо сохранить для такого фальшивого пользователя это их адрес электронной почты, иначе они не смогут быть проинформированы, когда бы ни состояние их порядок меняется.

Django явно не разрешает использование таких пользовательских объектов в своих моделях баз данных. Но, используя логический флаг is_active, мы можем обмануть приложение, чтобы оно интерпретировало такого гостя как фальшивого анонимного пользователя.

Такой подход неприменим для всех приложений на основе Django, добавляется новая модель - Customer

Получить Customer

Для создания Customer нужно сделать POST запрос на /api/v1/cart/create_customer/

Запрос вернет объект Customer с полем number.

Далее нужно этот номер отправлять в каждый запрос с заголовок Cart-Token.

setting.py

GARPIX_CART_SERIALIZER_MIXIN - можно задать миксин для сериалайзера элемента корзины

GARPIX_CART_MIXIN - можно задать миксин для модели элемента корзины

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.2.0.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

garpix_cart-2.2.0-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file garpix_cart-2.2.0.tar.gz.

File metadata

  • Download URL: garpix_cart-2.2.0.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for garpix_cart-2.2.0.tar.gz
Algorithm Hash digest
SHA256 b67f6382a9a98de14b4b3ff9f981916a81a57e41a72b0bc2d0e772fda502be70
MD5 7081f391873620c90108b74f1da31d57
BLAKE2b-256 bc7b3c7ac16b8aa721ff70ce45c426f1a7ac7a5e2205c027f812dffae20ab809

See more details on using hashes here.

File details

Details for the file garpix_cart-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: garpix_cart-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for garpix_cart-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f4687e1072f1bae3384ca5f5b64036a9b0347d01998f8f805c26b3d1ca5f57d
MD5 46011861e0bb2395edb608015a508d7c
BLAKE2b-256 60845d15f5b36c9d18b88841034d769eea184bc340d3d491e396c32acca69e17

See more details on using hashes here.

Release history Release notifications | RSS feed

3.0.0

2 files

This release

2.2.0 This release

2 files

2.1.0

2 files

2.0.0

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page