Html 如何与django一起使用facebook评论

Html 如何与django一起使用facebook评论,html,django,facebook,Html,Django,Facebook,我有一个博客网站,在那里我有7个应用程序,我用django管理员发布。每个应用程序都有最简单的视图(调用、过滤对象和返回模板的视图)和post_详细视图,打开另一个模板,其中只显示一篇文章的信息。我的帖子中没有slug,我很抱歉,因为我对这是什么有一点概念,但我认为我有唯一的url,因为帖子的url是由regex自动调用的。所以,我试图把facebook评论插件放在我的网站上,但是当我放facebook评论时,我不能在相应的帖子中列出评论。对不起,我不知道正确的方法是什么。我想知道我必须做些什么

我有一个博客网站,在那里我有7个应用程序,我用django管理员发布。每个应用程序都有最简单的视图(调用、过滤对象和返回模板的视图)和post_详细视图,打开另一个模板,其中只显示一篇文章的信息。我的帖子中没有slug,我很抱歉,因为我对这是什么有一点概念,但我认为我有唯一的url,因为帖子的url是由regex自动调用的。所以,我试图把facebook评论插件放在我的网站上,但是当我放facebook评论时,我不能在相应的帖子中列出评论。对不起,我不知道正确的方法是什么。我想知道我必须做些什么才能在我的帖子中列出facebook的评论。非常感谢,代码如下:

views.py:

def index(request):
    posts = Evento.objects.filter(published_date__lte=timezone.now()).order_by('-published_date')
    return render(request, 'core/index.html', {'posts': posts})


def post_detail(request, pk):
    post = get_object_or_404(Evento, pk=pk)
    Evento.objects.get(pk=pk)
    return render(request, 'core/post_detail.html', {'post': post})
models.py:

class Evento(models.Model):
    nome = models.CharField(max_length=200, null=False, blank=False)
    apresentacao = models.TextField(null=False, blank=False)
    foto = CloudinaryField('foto', null=True, blank=True)
    created_date = models.DateTimeField(
            default=timezone.now)
    published_date = models.DateTimeField(
            blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.nome
index.html

{% for post in posts %}
        <div class=item>
            <p><h1><a href="{% url 'core:detalhe' pk=post.pk %}">{{ post.nome }}</a></h1></p>
            <center><img>{% cloudinary post.foto %}</img></center>
            <p><h2>{{ post.apresentacao }}</h2></p>
            <br>
        </div>
    {% endfor %}

我不知道如何为每个新帖子创建一个新的facebook评论,我只是可以对每个帖子使用相同的评论。非常感谢大家

将此脚本放在开始标记之后

<body>
  <div id="fb-root"></div>
  <script>(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/id_ID/sdk.js#xfbml=1&version=v2.10";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));</script>

  .....
为了提高效率,您可以使用,但
request.get\u full\u path
允许使用
get
参数中的查询字符串

<div class="fb-comments" data-href="{{ request.get_full_path }}" data-numposts="5"></div>

我不知道是否发生了这种情况,因为我在本地运行,但我不能在我的帖子中发布一些日期为几个月的评论。我将尝试部署。
<div class="fb-comments" data-href="http://{{ request.META.HTTP_HOST }}{% url 'core:detalhe' pk=post.pk %}" data-numposts="5"></div>
<div class="fb-comments" data-href="{{ request.get_full_path }}" data-numposts="5"></div>
{% for post in posts %}
  <div class="item">
    <h1>{{ post.nome }}</h1>
    <div class="fb-comments" data-numposts="5"
         data-href="http://{{ request.META.HTTP_HOST }}{% url 'core:detalhe' pk=post.pk %}">
    </div>
    ....
 </div>
{% endfor %}
{% extends "base.html" %}
{% block title %}{{ post.nome }} - {{ block.super }}{% endblock %}

{% block content %}
  <div class="detail-post">
    <h1>{{ post.nome }}</h1>
    <div class="fb-comments" data-numposts="5"
         data-href="http://{{ request.META.HTTP_HOST }}{% url 'core:detalhe' pk=post.pk %}">
    </div>
  </div>
{% endblock %}