我正在使用以下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/
而不是我自己的域名。
我做错了什么?
谢谢!
答案 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>