Правильный способ использования плагина Facebook Like в Django - PullRequest
2 голосов
/ 19 апреля 2011

Я использую следующий код Facebook, чтобы показать плагин Like при переборе моего списка объектов Post.

<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/ вместо моего собственного доменного имени.

Что я сделал не так?

Спасибо!

1 Ответ

5 голосов
/ 19 апреля 2011

Проблема в том, что {% url post post.id %} возвращает абсолютный путь URL без домена. Для плагинов Facebook нужен полный URL с хостом. Чтобы сделать вашу страницу приятной, вам также нужно как-то передать свой домен в шаблон. Предположим, что вы создали переменную шаблона host через request.get_host() в своих представлениях и передали ее в свой шаблон, тогда выражение url могло бы выглядеть так:

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