我有一个以经典方式工作的电子商务网站:人们注册,用他们的CC购买产品.
它为用户和注册以及会话框架使用默认的Django auth系统.
现在我想在我的系统中实现一个推荐系统,人们可以通过提供他们的推荐链接(即mysite.com/referral/123123/)邀请其他人,如果一个人注册并购买一个项目,邀请者获得5美元.
怎么能实现呢?例如:
新用户使用推介链接进入网站后,如何使用推荐人跟踪此用户?将他的推荐人保存到会话中?
我应该对内置的django用户模型进行哪些修改来跟踪这些引用和引用的引用?
您可以使用一个非常简单的模型来跟踪它们
class UserReferral(models.Model):
referrer = models.ForeignKey(User)
referred = models.ForeignKey(User)
class Meta:
unique_together = (('referrer', 'referred'),)
Run Code Online (Sandbox Code Playgroud)
然后你可以计算一个用户推荐了多少:
UserReferral.objects.filter(referrer=user).count()
Run Code Online (Sandbox Code Playgroud)
等等..
小智 6
我已经做了一段时间,并认为我的笔记可以帮助有人寻找这个:
创建推荐网址
每当您向用户发出引荐网址时,请将其存储在表格中.在我的情况下,我有不同目的的网址('邀请你的朋友','分享这个项目'等)所以我也存储了推荐的类型.为您的网站添加一个入口点,例如http://example.com/ref/jklejis,以处理传入的网址.如果你不喜欢有一个明显的"推荐"网址,你可以使用中间件在网站的任何网址上捕获一个特殊的网址参数并按照这种方式进行处理,即http://example.com/items/123?r = jklejis
跟踪推荐访客
一旦访问者从推荐中访问,我就会生成一个cookie,并且该用户的任何进一步请求都会被跟踪表中操作的中间件跟踪.然后我运行一个工作来解析'action'表以向用户发放信用.我没有这里的实时要求,但如果你这样做,那么就使用信号来执行特定的操作以启动代码.
我最近遇到了这个似乎仍然是"alpha"的项目,但它做了类似的事情,可以帮助你入门:http://pinax-referrals.readthedocs.org/en/latest/
urls.py为推荐链接定义一组特殊的 URL(在您的 中)。通过注册引用的 Python 函数传递它们,然后将它们发送到普通视图,并以引用编号作为参数。
这是您的想法吗?或者您还想了解什么?
| 归档时间: |
|
| 查看次数: |
5832 次 |
| 最近记录: |