Django Flutter Корзина для электронной коммерции
Я пытаюсь создать сайт электронной коммерции с функциональной корзиной, которая не требует от пользователя входа в систему перед добавлением/удалением товаров. Чтобы добавить эту функциональность, я планирую хранить информацию, основанную на устройстве пользователя, чтобы помнить историю его заказов, текущие товары в корзине и т.д. Для этого я использую бэкенд Django на питоне (Django Rest Framework) и фронтенд Dart Flutter.
Это будет исключительно веб-приложение для начала, а затем перейдет в мобильное приложение, поэтому я использую flutter.
Мой вопрос скорее относится к общей архитектуре, чем к кодированию. Я провел много исследований о том, как получить ID устройства с помощью фронт-энда flutter и затем отправить этот ID устройства в бэкэнд Django-приложения через cookie. Мой вопрос в том, правильное ли это направление для продвижения?
Использую ли я flutter для создания cookie, а затем отправляю его через POST-запрос в бэкенд для управления корзиной? Или я должен каким-то образом создать ID устройства через django backend?
На мой взгляд - использовать "ID устройства" - это плохой способ хранения информации о корзине.
Почему:
- не работает без дополнительного кода, если много пользователей используют одно и то же устройство.
- не работает, если я хочу быть "анонимным клиентом".
- не работает, если я не разрешаю получить 'device id'.
- его могут взломать, если я использую 'device id' от другого клиента.
Django дает вам хорошую (не самую лучшую) возможность - работать с сессиями. https://docs.djangoproject.com/en/4.1/topics/http/sessions/
Возможно, вы можете использовать эту возможность?