跳转到主要内容

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之后。

设置和配置

  1. 使用python -m pip install django-hype进行安装
  2. hype添加到您的INSTALLED_APPS
  3. 在您的URLs中包含hype.urls。例如:url(r"^ref/", include("hype.urls"))
  4. hype.middleware.AnonymousReferralMiddleware添加到您的MIDDLEWARE。这是在匿名用户登录时更新推荐所必需的。
  5. (可选)将hype.middleware.ReferralLinkMiddleware添加到您的MIDDLEWARE。如果您希望正确重定向?ref=...,则需要此中间件。

这些步骤足以开始收集推荐信息。您创建一个推荐链接,并观察ReferralHit表随着用户跟随它而填充。

除了拥有这些数据外,您可能还希望“确认”推荐。存在ConfirmedReferral模型,作为便利模型,允许您过滤相关的推荐点击。在创建ConfirmedReferral之后,您可能还希望执行其他操作,例如为用户积分。这些事件的原子性和幂等性留给读者练习。

许可协议

本项目采用MIT许可证。完整的许可证文本可在LICENSE文件中找到。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

django_hype-1.0.0.tar.gz (8.0 kB 查看哈希)

上传时间

构建分布

django_hype-1.0.0-py3-none-any.whl (8.3 kB 查看哈希)

上传时间 Python 3

由以下支持