Django推荐链接
项目描述
Hype
一个实现推荐链接逻辑的Django模块。
概念
此库实现了两个模型
ReferralLink
。此对象代表用户的推荐链接或邀请链接。它有一个字符串标识符,允许用户将链接分享为/ref/<refid>/
。ReferralHit
。这是一个跟随推荐链接的用户的实例(登录或匿名)。
匿名Cookie
当跟随推荐链接时,会创建一个ReferralHit
对象。如果链接是由登录用户跟随的,则该用户将在ReferralHit
对象上作为外键可用。如果链接是由匿名用户跟随的,则将为用户设置一个cookie以供将来参考。
该cookie包含在ReferralHit
上设置的随机UUID。在任何时候,您都可以获取该cookie,如果用户登录,则可以使用该匹配UUID更新所有ReferralHit
对象。该库包括一个中间件,它将自动为每个登录用户执行此操作,请参阅hype.middleware.AnonymousReferralMiddleware
。
确认推荐
您可能希望实现一个SuccessfulReferral
模型,该模型在用户之前点击了ReferralLink
(从而创建了一个ReferralHit
)并实际完成了推荐系统要求被推荐用户完成的任何步骤时创建(例如:注册到网站,进行第一次购买,发表第一条评论等)。
ReferralHit
模型还有一个用于此目的的confirmed
DateTimeField。
在任何URL上支持推荐链接
实施者可能会发现允许在任何URL上进行推荐很有用。这通过hype.middleware.ReferralLinkMiddleware
中间件实现,该中间件检查所有GET请求,如果在GET参数中存在有效的推荐链接,则将该链接的URL重定向到具有next
参数的URL,其中包含原始URL,但不包含推荐链接。
示例
/accounts/signup/?ref=abc123def
重定向到.../ref/abs123def?next=/accounts/signup/
,然后重定向到.../accounts/signup/
,在创建ReferralHit之后。
设置和配置
- 使用
python -m pip install django-hype
进行安装 - 将
hype
添加到您的INSTALLED_APPS
- 在您的URLs中包含
hype.urls
。例如:url(r"^ref/", include("hype.urls"))
- 将
hype.middleware.AnonymousReferralMiddleware
添加到您的MIDDLEWARE
。这是在匿名用户登录时更新推荐所必需的。 - (可选)将
hype.middleware.ReferralLinkMiddleware
添加到您的MIDDLEWARE
。如果您希望正确重定向?ref=...
,则需要此中间件。
这些步骤足以开始收集推荐信息。您创建一个推荐链接,并观察ReferralHit
表随着用户跟随它而填充。
除了拥有这些数据外,您可能还希望“确认”推荐。存在ConfirmedReferral
模型,作为便利模型,允许您过滤相关的推荐点击。在创建ConfirmedReferral之后,您可能还希望执行其他操作,例如为用户积分。这些事件的原子性和幂等性留给读者练习。
许可协议
本项目采用MIT许可证。完整的许可证文本可在LICENSE文件中找到。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。