Форум сайта python.su
Добрый день, подскажите, как на django сделать реферальную систему , чтобы потом в админке было видно, количество и кто зарегистрировался по этой ссылке?
Офлайн
На ссылку, можно тупо ид пользователя прицепить. Если по ней кто-то пришёл и зарегистрировался, у нему и будет сохранёт этот ид.
Офлайн
при наличии параметра ref - писать его в куки и в дальньешем при регистрации проверять, есть ли он в куках, если есть то в профиле зарегистрированного пользователя заполнять ref
Офлайн
Можно например использовать приложение
https://github.com/st4lk/django-affiliate
ну или подсмотреть там код если что-то не подходит и надо от чего-то оттолкнуться и создать свое.
Офлайн
я немного по другому делал
Создаём урл через django.core.signing (палить юзер ид в реф ссылке, не есть хорошо)
что-то вроде
signer = signing.Signer() .. def referral_url(self): url = reverse('referral_url', kwargs={'ref_data': signer.sign(self.user_id)}) return url
def referral_set(request, ref_data): try: user_id = int(signer.unsign(ref_data)) request.session['referred_by'] = user_id except (ValueError, signing.BadSignature): messages.warning(request, _(u'Неверная реферальная ссылка')) return HttpResponseRedirect(reverse('home')) # форме регистрации в save() получаем user_id referred_by = request.session.get('referred_by', None)
Отредактировано slav0nic (Фев. 3, 2015 12:15:44)
Офлайн