2

Post 객체 목록을 반복 할 때 Like 플러그인을 표시하려면 다음 Facebook 코드를 사용하고 있습니다. Django에서 Facebook Like 플러그인을 사용하는 올바른 방법

<fb:like href="{% url post post.id %}" layout="button_count" show_faces="false" width="450" font=""></fb:like> 

결과 HTML

같은 것입니다 :

<fb:like href="/9/" layout="button_count" show_faces="false" width="450" font=""></fb:like> 

그러나, 나는처럼 버튼을 클릭하면, 내 FB 프로필을 내가 대신 내 자신의 도메인 이름의 www.facebook.com/9/를 좋아 말한다.

내가 뭘 잘못 했니?

감사합니다.

답변

5

{% url post post.id %}은 도메인이없는 절대 URL 경로를 반환합니다. Facebook 플러그인에는 호스트와의 전체 URL이 필요합니다. 귀하의 페이지를 좋아할 수있게하려면 도메인에 어떻게 든 템플릿을 전달해야합니다.

<fb:like href="http://{{host}}{% url post post.id %}" layout="button_count" show_faces="false" width="450" font=""></fb:like> 
+0

그래, 그게 내가 생각 무엇 : 다음 URL 문은 다음과 같을 수는 귀하의 의견에 request.get_host()를 통해 템플릿 변수 host을 createa 가정 및 템플릿에 전달할 수 있습니다. 좀 이상 해요. 나는 FB의 코드가 그보다 더 똑똑하다고 생각했다. 다행히 Django의 템플릿 태그는'request.get_host' 메소드를 가지고 있습니다. 감사! – rabbid

+1

분명히 Tweet 버튼이나 다른 공유 버튼과 같은 다른 모든 유사한 API에 대해서도 동일합니다. 미래를 염두에 두십시오. –