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文件中找到。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。