2

在遍历我的 Post 对象列表时,我正在使用以下 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> 

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

我做错了什么?

谢谢!

4

1 回答 1

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>
于 2011-04-19T01:17:06.157 回答