garpix-cart


Namegarpix-cart JSON
Version 3.0.0 PyPI version JSON
download
home_pagehttps://github.com/garpixcms/garpix_cart
Summary
upload_time2023-05-10 16:14:14
maintainer
docs_urlNone
authorGarpix LTD
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Garpix Cart

## Quickstart

Install with pip 

    $ pip install garpix_cart

Add the `garpix_cart` to your INSTALLED_APPS:

```python
# settings.py

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

and to migration modules:

```python
# 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](CHANGELOG.md).

# Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).

# License

[MIT](LICENSE)

---

Developed by Garpix / [https://garpix.com](https://garpix.com)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/garpixcms/garpix_cart",
    "name": "garpix-cart",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Garpix LTD",
    "author_email": "info@garpix.com",
    "download_url": "https://files.pythonhosted.org/packages/41/8d/d4190b51cae3e81b9ba01ac5aef213bcc8ca17810e262548e97b57786382/garpix_cart-3.0.0.tar.gz",
    "platform": null,
    "description": "# Garpix Cart\n\n## Quickstart\n\nInstall with pip \n\n    $ pip install garpix_cart\n\nAdd the `garpix_cart` to your INSTALLED_APPS:\n\n```python\n# settings.py\n\nINSTALLED_APPS = [\n    # ...\n    'garpix_cart',\n]\n```\n\nand to migration modules:\n\n```python\n# settings.py\n\n# ...\nMIGRATION_MODULES = {\n    'garpix_cart': 'app.migrations.garpix_cart',\n}\n```\n\nMake migrations and migrate database:\n\n    $ ./manage.py makemigrations\n    $ ./manage.py migrate\n\nAdd to `urls.py`:\n\n```\nurlpatterns = [\n    # ...\n    # garpix_cart\n    path('', include(('garpix_cart.urls', 'cart'), namespace='garpix_cart')),\n]\n```\n\n\u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u044b, \u043d\u0430\u0434\u0435\u044f\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u043d\u0438\u0445 \u0432 \u0441\u0432\u043e\u044e \u043a\u043e\u0440\u0437\u0438\u043d\u0443. \n\u0417\u0430\u0442\u0435\u043c \u043f\u043e \u043f\u0443\u0442\u0438 \u043a \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044e \u0437\u0430\u043a\u0430\u0437\u0430 \u043e\u043d\u0438 \u0440\u0435\u0448\u0430\u044e\u0442, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043b\u0438 \u0443\u0447\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0438\u043b\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0433\u043e\u0441\u0442\u044f. \n\u0417\u0434\u0435\u0441\u044c \u0432\u0441\u0435 \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442\u0441\u044f.\n\n\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0434\u043b\u044f \u043d\u0435\u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435\u043b\u0435\u0439 \u0441\u0430\u0439\u0442\u0430 \u043a\u043e\u0440\u0437\u0438\u043d\u0430 \u043d\u0438\u043a\u043e\u043c\u0443 \u043d\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442. \u041d\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u043a\u043e\u0440\u0437\u0438\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \n\u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 \u0435\u0435 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435\u043b\u0435\u043c \u0441\u0430\u0439\u0442\u0430.\n\n\u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043a\u043e\u0433\u0434\u0430 \u043a\u043e\u0440\u0437\u0438\u043d\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0430 \u0432 \u0437\u0430\u043a\u0430\u0437, \u043d\u043e \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435\u043b\u044c \u0445\u043e\u0447\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0433\u043e\u0441\u0442\u044f, \u044d\u0442\u043e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 \u0437\u0430\u043a\u0430\u0437\u0430 \n\u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \n\u0422\u0430\u043a\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0444\u0430\u043b\u044c\u0448\u0438\u0432\u044b\u0435: \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0439\u0442\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0438 \u0442.\u0434. \n\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u043b\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0444\u0430\u043b\u044c\u0448\u0438\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u044d\u0442\u043e \u0438\u0445 \u0430\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b, \n\u0438\u043d\u0430\u0447\u0435 \u043e\u043d\u0438 \u043d\u0435 \u0441\u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0438\u043d\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u044b, \u043a\u043e\u0433\u0434\u0430 \u0431\u044b \u043d\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438\u0445 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f.\n\nDjango \u044f\u0432\u043d\u043e \u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u043a\u0438\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432 \u0441\u0432\u043e\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u044f\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445. \n\u041d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0444\u043b\u0430\u0433 is_active, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u043c\u0430\u043d\u0443\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u043e \u0442\u0430\u043a\u043e\u0433\u043e \u0433\u043e\u0441\u0442\u044f \u043a\u0430\u043a \n\u0444\u0430\u043b\u044c\u0448\u0438\u0432\u043e\u0433\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.\n\n\u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0435\u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Django, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c - **Customer**\n\n\n## setting.py\n\n`GARPIX_CART_SERIALIZER_MIXIN` - \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043c\u0438\u043a\u0441\u0438\u043d \u0434\u043b\u044f \u0441\u0435\u0440\u0438\u0430\u043b\u0430\u0439\u0437\u0435\u0440\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043a\u043e\u0440\u0437\u0438\u043d\u044b\n\n`GARPIX_CART_MIXIN` - \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043c\u0438\u043a\u0441\u0438\u043d \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043a\u043e\u0440\u0437\u0438\u043d\u044b\n\n\n# Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md).\n\n# Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n# License\n\n[MIT](LICENSE)\n\n---\n\nDeveloped by Garpix / [https://garpix.com](https://garpix.com)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "",
    "version": "3.0.0",
    "project_urls": {
        "Homepage": "https://github.com/garpixcms/garpix_cart"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38444de382e23983e57b91d2bf823d291b1127a50a93a419238a522b4d225b7d",
                "md5": "04036a0f5a7917584ef2db3f3b8942c4",
                "sha256": "d552e60f017fd0a083c9be1b081351a98f9104964a5f269d9ab76224a20dca00"
            },
            "downloads": -1,
            "filename": "garpix_cart-3.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "04036a0f5a7917584ef2db3f3b8942c4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 27130,
            "upload_time": "2023-05-10T16:14:11",
            "upload_time_iso_8601": "2023-05-10T16:14:11.851627Z",
            "url": "https://files.pythonhosted.org/packages/38/44/4de382e23983e57b91d2bf823d291b1127a50a93a419238a522b4d225b7d/garpix_cart-3.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "418dd4190b51cae3e81b9ba01ac5aef213bcc8ca17810e262548e97b57786382",
                "md5": "aaa0b65126c086790805d981e9261638",
                "sha256": "729e041f52955fa8922b218321fdf8d40401aa1edbc7890fcd45ef0ef9cd8974"
            },
            "downloads": -1,
            "filename": "garpix_cart-3.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "aaa0b65126c086790805d981e9261638",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 17129,
            "upload_time": "2023-05-10T16:14:14",
            "upload_time_iso_8601": "2023-05-10T16:14:14.521227Z",
            "url": "https://files.pythonhosted.org/packages/41/8d/d4190b51cae3e81b9ba01ac5aef213bcc8ca17810e262548e97b57786382/garpix_cart-3.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-10 16:14:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "garpixcms",
    "github_project": "garpix_cart",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "garpix-cart"
}
        
Elapsed time: 0.07036s