2014-01-23 5 views
0

나는 포럼과 매우 유사한 응용 프로그램을 가지고 있습니다. 사용자는 콘텐츠 게시에 참여할 수 있습니다. 사용자가 주제를 클릭하면 그 주제와 관련된 모든 토론을 보여주는 해당 주제 페이지로 이동합니다. stackoverflow와 같은 사이드 바를 가지고 있는데, 현재 페이지의 주제 제목과 관련된 주제를 보여주는 similar questions을 보여줍니다. 나는 사용자가 클릭을 추적하는 응용 프로그램이URL 끝에 추가 정보

<div class="box"> 
    <h2>{% trans %}Related Topics{% endtrans %}</h2> 
    <div class="topic-related"> 
     {% for thread_dict in similar_threads.data() %} 
     <p> 
      <a href="{{ thread_dict.url }}">{{ thread_dict.title|escape }}</a> 
     </p> 
     {% endfor %} 
    </div> 
</div> 

: 여기

사이드 바 템플릿 코드입니다. 사용자가 주제에 갔고 관련 주제를 본 후 주제를 클릭하고 해당 페이지로 이동한다고 가정 해보십시오. 그러나 사용자가 관련 주제 섹션을 사용하는 것 이외의 주제로 직접 이동했는지 구분할 방법이 없습니다.

그래서 URL 끝에 fromRelatedTOpics과 같은 것을 추가 할 수 있다고 생각합니다. 가장 좋은 방법은 무엇입니까?

<a href="{{ thread_dict.url(fromRelatedTopics) }}">{{ thread_dict.title|escape }}</a> 

이것이 가능합니까?

답변

0

찾고 계시는 키워드는 입니다.입니다. 사용자가 사이트로 연결되는 링크를 클릭하면 리퍼러가 자신의 출신 국가를 알 수 있습니다 (브라우저 설정에 따라 다름). 뷰에서 리퍼러에 액세스하려면 요청의 META 속성, 즉 : 당신은 영감을 얻기 위해 this django snippet을 조사 할 수 있습니다

request.META.get('HTTP_REFERER') 

에 액세스 할 수 있습니다. 템플릿 내부 정보를 원하는 경우

, 당신이 시도 할 수 있습니다 : 당신이 할 수있는 일

{{ request.META.HTTP_REFERER }} 
0

하나의보기에 "관련 항목"모든 클릭을 리디렉션하는 것입니다, 또한 관련 항목의 ID를 전달 (또는 백엔드에서 해당 주제를 식별 할 수있는 고유 한 값)를이보기에 추가하십시오.

이제이보기가 실행될 때 누군가가 "관련 주제"를 클릭했다고 생각할 수 있으므로이 동작을 기록하십시오. referer (@steinar에 설명 된대로)을 사용하면 상대 링크가 클릭 된 상위 페이지 URL을 기록 할 수도 있습니다.

동작을 기록한 후에이보기로 전달 된 고유 ID를 사용하여 사용자를 "관련 항목"으로 리디렉션 할 수 있습니다.

관련 문제