Skip to main content

No project description provided

Project description

Garpix Cart

Quickstart

Install with pip

$ pip install garpix_cart

Add the garpix_cart to your INSTALLED_APPS:

# settings.py

INSTALLED_APPS = [
    # ...
    'garpix_cart',
]

and to migration modules:

# settings.py

# ...
MIGRATION_MODULES = {
    'garpix_cart': 'app.migrations.garpix_cart',
}

Make migrations and migrate database:

$ ./manage.py makemigrations
$ ./manage.py migrate

Add to urls.py:

urlpatterns = [
    # ...
    # garpix_cart
    path('', include(('garpix_cart.urls', 'cart'), namespace='garpix_cart')),
]

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

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

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

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

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

setting.py

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

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

Changelog

See CHANGELOG.md.

Contributing

See CONTRIBUTING.md.

License

MIT


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

Uploaded Source

Built Distribution

garpix_cart-3.0.0-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: garpix_cart-3.0.0.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.6.0 pkginfo/1.9.6 requests/2.30.0 requests-toolbelt/1.0.0 tqdm/4.65.0 CPython/3.8.16

File hashes

Hashes for garpix_cart-3.0.0.tar.gz
Algorithm Hash digest
SHA256 729e041f52955fa8922b218321fdf8d40401aa1edbc7890fcd45ef0ef9cd8974
MD5 aaa0b65126c086790805d981e9261638
BLAKE2b-256 418dd4190b51cae3e81b9ba01ac5aef213bcc8ca17810e262548e97b57786382

See more details on using hashes here.

File details

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

File metadata

  • Download URL: garpix_cart-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.6.0 pkginfo/1.9.6 requests/2.30.0 requests-toolbelt/1.0.0 tqdm/4.65.0 CPython/3.8.16

File hashes

Hashes for garpix_cart-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d552e60f017fd0a083c9be1b081351a98f9104964a5f269d9ab76224a20dca00
MD5 04036a0f5a7917584ef2db3f3b8942c4
BLAKE2b-256 38444de382e23983e57b91d2bf823d291b1127a50a93a419238a522b4d225b7d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page