Python 在邀请人介绍其他人后,增加邀请人的分数
当邀请人推荐其他人加入时,我如何增加邀请人的积分。接受参考后,分数将增加。我可以做推荐,但不能增加由邀请者发送推荐的用户接受推荐时的点数 这是我的密码Python 在邀请人介绍其他人后,增加邀请人的分数,python,django,django-models,django-views,Python,Django,Django Models,Django Views,当邀请人推荐其他人加入时,我如何增加邀请人的积分。接受参考后,分数将增加。我可以做推荐,但不能增加由邀请者发送推荐的用户接受推荐时的点数 这是我的密码 class Invitation(models.Model): email = models.EmailField(unique=True, verbose_name=_("e-mail Address")) invite_code = models.UUIDField(default=uuid.uuid4, unique=Tru
class Invitation(models.Model):
email = models.EmailField(unique=True, verbose_name=_("e-mail Address"))
invite_code = models.UUIDField(default=uuid.uuid4, unique=True)
points = models.PositiveIntegerField(default=5)
request_approved = models.BooleanField(default=True, verbose_name=_('request accepted'))
def __str__(self):
return "Invite: {0}".format(self.email)
class Referral(models.Model):
referred_by = models.ForeignKey(Invitation, related_name="sharer", null=False, blank=False)
referred_to = models.EmailField(unique=True, null=False, blank=False)
refer_code = models.UUIDField(default=uuid.uuid4, unique=True)
refer_accepted = models.BooleanField(default=False)
def referInvitation(request, invite_code):
try:
# invite_id = request.session['invite_id']
obj = Invitation.objects.get(invite_code=invite_code)
except:
obj = None
form = ReferForm(request.POST or None)
if form.is_valid():
referred_to = form.cleaned_data.get('referred_to')
print ('referred_to', referred_to)
if not obj == None:
new_refer = Referral(referred_by=obj, referred_to=referred_to)
new_refer.save()
subject = "Request to Join Connyct"
from_email=None
message = "You have been invited by {0}".format(obj.email)
to_email=[referred_to]
send_mail(subject, message, from_email, to_email, fail_silently=True)
context = {"form": form}
return render(request, 'refer/refer.html', context)
与电子邮件一起发送接受/注册链接。用户注册/接受完成后,通过执行以下操作,仅增加已转介的人数:
obj.points+=1
仅供参考,而不是if not obj==None:
do如果obj不是None:
在被邀请人接受转介后,只有计数应该增加,对吗?是的,只有在接受邀请请求后,计数应该增加。感谢@nik\m分享有价值的信息。我能知道使用is not over not obj==的好处吗?仅供参考,这只是python(不是Django特有的)。我是否必须像你在Middleware中所说的那样提高积分?因为在我的情况下,当我推荐你加入时,你会收到一封电子邮件。当您单击该链接时,必须增加计数。请设计一个链接/url,使其能够传递用户对象。比如www.sample.com/register/。此链接最终应显示一个表单,以获取新用户的详细信息,并同时增加计数。