Я пишу простое веб-приложение для электронной коммерции с Django.
Я хочу, чтобы Анонимные пользователи (незарегистрированные гости) по-прежнему могли добавлять товары в свою корзину и продолжать оформить заказ без регистрации или входа в систему. У меня возникают проблемы с выяснением того, как на самом деле отслеживать их ( в соответствии с рекомендациями / с учетом безопасности ), если пользователи такого типа не имеют идентифицируемое имя пользователя / идентификатор, который Django предоставляет.
Конкретно, предположим, что у меня есть следующие модели:
class Shirt(models.Model):
"""Represents the type of item I am selling."""
...
class OrderItem(models.Model):
"""Represents an individual entry in an Order."""
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
item = models.ForeignKey(Shirt, on_delete=models.CASCADE)
quantity = models.IntegerField('Quantity', default=1)
class Order(models.Model):
"""Represents an order, i.e. a 'collection' of entries."""
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
items = models.ManyToManyField(OrderItem)
Когда я работаю с вошедшими в систему пользователями, поля моих моделей заполняются соответствующими пользовательские объекты (эта логика c уже реализована с помощью request.user ). Конечно, это не работает с незарегистрированными людьми.
Я уже прочитал некоторую информацию о django сеансах и файлах cookie, но я не совсем уверен, что я понимаю, как заставить все это работать в хорошем и чистый путь.
Я только начинаю с веб-разработки (и Django, расширением), поэтому я был бы очень признателен за некоторые советы!