Пользователь регистрируется после добавления на сайт? В Джанго - PullRequest
1 голос
/ 27 октября 2011

Допустим, у меня есть сайт, где пользователи могут добавлять контент.

Если пользователь является анонимным, вносит свой вклад и возвращается после истечения срока его сеанса, то его вклады зачисляются на счет Anonymous.

Если пользователь является анонимным и добавляет контент, а затем создает учетную запись, как я могу зачислить все вклады пользователя во время этого сеанса в учетную запись пользователя?

Ответы [ 3 ]

2 голосов
/ 27 октября 2011

Я бы предпочел хранить идентификаторы опубликованного контента в сеансе.

Нет дополнительных данных, хранящихся в вашем контенте.Нет никакого постоянно растущего списка фальшивых пользователей.

И самое главное, ваш шаблон дизайна остается простым.Буквально несколько строк кода и неизменное поведение остальной части django.Простота важна!

# registration_view

if form.is_valid():
    user = form.save()
    posted_content =  request.session.get('posted_content')
    if posted_content:
        Content.objects.filter(id__in=posted_content).update(user=user)

Что касается зачисления пользователей, у которых закончился сеанс, я понятия не имею.

1 голос
/ 27 октября 2011

Этот шаблон часто называют «Ленивая регистрация» или «Ленивая регистрация».Существует приложение Django для поддержки этого типа функций http://pypi.python.org/pypi/django-lazysignup/, хотя я никогда не использовал его лично.

0 голосов
/ 27 октября 2011

Возможно, вы можете сохранить идентификатор сеанса как часть предоставленного содержимого (свойства) и в процессе регистрации выполнить проверку этого идентификатора сеанса.

...