2010-03-25 5 views
7

나는 CC에 제품을 등록하고 가입하는 고전적 방식으로 작동하는 전자 상거래 웹 사이트를 운영하고 있습니다.Django : 추천 프로그램 구현

사용자 및 등록 및 세션 프레임 워크에 기본 Django 인증 시스템을 사용합니다.

이제 사람들이 추천 링크 (예 : mysite.com/referral/123123/)를 제공하여 다른 사람을 초대 할 수있는 시스템으로 추천 시스템을 구현하고 사람이 가입하고 물건을 구입하면 초청자가 5 달러를받습니다.

어떻게 구현할 수 있습니까? 예를 들어 : 새 사용자가 추천 링크가있는 사이트를 입력하면

  • 는 어떻게 레퍼러이 사용자를 추적 할 수 있습니까? 리퍼러를 세션에 저장 하시겠습니까?

  • 이러한 참조 자 및 참조 된자를 추적하기 위해 내장 django 사용자 모델을 수정해야합니까?

답변

4

참조 링크 용으로 특수한 URL 집합 (urls.py)을 정의하십시오. 참조를 등록한 Python 함수를 통해 전달한 다음 참조 번호를 매개 변수로 사용하여 일반보기로 보냅니다.

마음에 들었던 것입니까, 아니면 알고 싶은 것이 있습니까?

당신은 그 다음

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

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

을 추적하는 매우 간단한 모델을 사용할 수

+0

답변 해 주셔서 감사합니다. 질문을 업데이트했습니다. – Hellnar

4

당신은 사용자가 언급 한 얼마나 많은 셀 수 : 기타

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

..

5

내가 가진 잠시 후에이 메모를 작성하면 누군가 내 메모가 도움이 될 것이라고 생각했습니다.

추천 URL 만들기

사용자에게 추천 URL을 발급 할 때마다 테이블에 저장하십시오. 내 경우에는 다른 목적 ('친구 초대', '이 항목 공유'등)을위한 URL이 있었으므로 추천 유형도 저장했습니다. 들어오는 URL을 처리하기 위해 진입 점을 http://example.com/ref/jklejis과 같이 추가하십시오. 당신은 단순히 당신의 위치에 모든 URL에 대한 특별 URL 매개 변수를 캡처하고 그런 식으로 처리하는 미들웨어를 사용할 수있는 명백한 '추천'URL을 가지고 마음에 들지 않으면, 즉 http://example.com/items/123?r=jklejis

트랙 방문자

을 언급

방문객이 추천을 방문하자마자 나는 쿠키를 만들고 그 사용자에 의한 추가 요청은 테이블의 동작을 추적하는 미들웨어로 추적합니다. 그런 다음 작업을 실행하여 '작업'테이블을 구문 분석하여 사용자에게 크레딧을 발행합니다. 여기에는 실시간 요구 사항이 없었지만 코드를 작성하려면 특정 동작에 대한 신호를 사용하십시오.

는 최근 '알파'여전히 것 같습니다이 프로젝트를 통해 온하지만 비슷한 무언가를하고 시작 얻을 수 : 그들이 가입/로그인의 boundry을 건너 특히 후 사용자 세션의 http://pinax-referrals.readthedocs.org/en/latest/