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.

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.1.0.tar.gz (20.0 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.1.0-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: garpix_cart-2.1.0.tar.gz
  • Upload date:
  • Size: 20.0 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.1.0.tar.gz
Algorithm Hash digest
SHA256 fbf52a3060680d930f626d887f878da1f245f046ab0d724832d9d82a473ba08b
MD5 23446be40eb00cf46c63c7dfc20d877d
BLAKE2b-256 856ee30ba7115f4f78f383bfa1fe29435685b7a5b3f1f63154dd35226d321f88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: garpix_cart-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 31.1 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 228aefbb82c8fb86dd58b2291c28e0b364cdddeafbbcc0b42b348c03b901acee
MD5 a0238d213827a17c72e1f29e94db6ef1
BLAKE2b-256 5ab913a9bf1d0561faed8be4407da4935853e0aac09a69c2f20c3c9f2bc17f38

See more details on using hashes here.

Release history Release notifications | RSS feed

3.0.0

2 files

2.2.0

2 files

This release

2.1.0 This release

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