在Django中使用Facebook Like插件的正确方法

时间:2011-04-19 01:01:26

标签: django facebook facebook-like xfbml facebook-social-plugins

我正在使用以下Facebook代码在迭代Post对象列表时显示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> 

然而,当我点击Like按钮时,我的FB个人资料说我喜欢www.facebook.com/9/而不是我自己的域名。

我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:5)

问题是{% 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>