I am using the following Facebook code to show the Like plugin when iterating through my list of Post objects.
<fb:like href="{% url post post.id %}" layout="button_count" show_faces="false" width="450" font=""></fb:like>
The resulting HTML is as such:
<fb:like href="/9/" layout="b开发者_StackOverflowutton_count" show_faces="false" width="450" font=""></fb:like>
However, when I click the Like button, my FB profile says that I Liked www.facebook.com/9/
instead of my own domain name.
What did I do wrong?
Thank you!
The problem is that {% url post post.id %}
returns an absolute url path without the domain. Facebook plugins need the full url with host. To make your page likable you also need to pass your domain somehow to the template. Lets assume you createa template variable host
via request.get_host()
in your views and pass it to your template then the url statement could look like this:
<fb:like href="http://{{host}}{% url post post.id %}" layout="button_count" show_faces="false" width="450" font=""></fb:like>
精彩评论