【发布时间】:2017-08-19 05:18:18
【问题描述】:
我有一个博客网站,我在其中使用 django admin 发布了 7 个应用程序。每个应用程序都有最简单的视图(调用、过滤对象和返回模板的视图)和 post_detail 视图,它打开另一个模板,其中仅显示一个帖子的信息。我的帖子中没有 slug,很抱歉,因为我对这是什么一无所知,但我认为我有独特的网址,因为帖子网址是由正则表达式自动调用的。所以,我正在尝试将 facebook cmets 插件放在我的网站中,但是当我放置 facebook cmets 时,我无法列出相应帖子的评论。对不起,我不知道这样做的正确方法是什么。我想知道我必须做什么才能在我的帖子中列出 facebook cmets。非常感谢,代码如下:
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 %}
post_detail.html:
from django.shortcuts import render
from django.utils import timezone
from .models import Evento
from django.shortcuts import render, get_object_or_404
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})
我不知道如何为每个新帖子创建一个新的 facebook cmets,我只是可以为每个帖子使用相同的。非常感谢大家。
【问题讨论】: