12

私は古典的な方法で動作する e コマース Web サイトを持っています。ユーザーはサインアップし、CC で製品を購入します。

ユーザーと登録およびセッション フレームワークにデフォルトの Django 認証システムを使用します。

今、私は自分のシステムに紹介システムを実装したいと考えています。このシステムでは、人々は紹介リンク (つまり ) を提供することで他の人を招待できmysite.com/referral/123123/、人がサインアップしてアイテムを購入すると、招待者は 5 ドルを受け取ります。

これはどのように実装できますか? 例えば:

  • 新しいユーザーが紹介リンクを使用してサイトにアクセスした後、このユーザーを参照元で追跡するにはどうすればよいですか? リファラーをセッションに保存しますか?

  • これらの参照元と参照元を追跡するには、組み込みの django ユーザー モデルにどのような変更を加える必要がありますか?

4

4 に答える 4

8

私はしばらく前にこれを行い、私のメモがこれを探している人を助けることができると考えました:

紹介 URL を作成する

ユーザーに紹介 URL を発行するたびに、それをテーブルに保存します。私の場合、さまざまな目的 (「友達を招待する」、「このアイテムを共有する」など) の URL があったため、紹介の種類も保存しました。http://example.com/ref/jklejisのようなエントリ ポイントをサイトに追加して、着信 URL を処理します。明らかな「参照」URL を使用したくない場合は、ミドルウェアを使用して、サイトへの任意の URL で特別な URL パラメータを取得し、そのように処理することができます (例: http://example.com/items/123?r )。 =jklejis

参照された訪問者を追跡する

訪問者が参照から訪問するとすぐに Cookie を設定し、そのユーザーによるそれ以降の要求は、テーブル内のアクションを追跡するミドルウェアによって追跡されます。次に、ジョブを実行して「アクション」テーブルを解析し、ユーザーにクレジットを発行します。ここではリアルタイムの要件はありませんでしたが、必要な場合は、特定のアクションへのシグナルを使用してコードを開始します。

私は最近、まだ「アルファ版」のように見えるこのプロジェクトに出くわしましたが、同様のことを行い、始めることができます: https://github.com/pinax/pinax-referrals

于 2011-12-13T16:35:24.217 に答える
7

非常に単純なモデルを使用してそれらを追跡できます

class UserReferral(models.Model):
    referrer = models.ForeignKey(User)
    referred = models.ForeignKey(User)

    class Meta:
        unique_together = (('referrer', 'referred'),)

次に、ユーザーが参照した数をカウントできます。

UserReferral.objects.filter(referrer=user).count()

等..

于 2010-11-03T09:24:47.983 に答える
4

urls.py参照リンク用に特別な URL のセットを ( で) 定義します。紹介を登録する Python 関数を介してそれらを渡し、紹介番号をパラメーターとして通常のビューに送信します。

これはあなたが考えていたことですか、それとも他に何を知りたいですか?

于 2010-03-25T16:56:13.873 に答える
3

特にサインアップ/ログインの境界を越えた後、ユーザーのセッションを追跡することは難しい問題です。紹介アプリhttp://paltman.com/how-to-easy-add-referrals-to-a-website/を作成しました。

于 2012-08-17T21:41:28.270 に答える