Как отслеживать пользователей, которые не вошли в систему Django? - PullRequest
0 голосов
/ 05 февраля 2020

Я пишу простое веб-приложение для электронной коммерции с 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, расширением), поэтому я был бы очень признателен за некоторые советы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...