如何在Django(Python)中向文章添加评论?

何先生

我是Django的新手,在学习完本教程后重复一遍,但是即使从html数据库中也无法显示注释。

urls.py

static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

设定

    MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

models.py

from django.db import models
class Post(models.Model):
    photo       = models.ImageField(upload_to='media/photos/',null=True, blank=True)
    name_barber = models.CharField(max_length=30)
    description = models.TextField(blank=True, null=True)

    def __str__(self):
        return self.description[:10]

class Comment(models.Model):
    post = models.ForeignKey(Post, related_name='comments', on_delete=models.CASCADE)
    name = models.CharField(max_length=255)
    body = models.TextField()
    date_add = models.DateTimeField(auto_now_add=True)


    def __str__(self):
        return '%s - %s' % (self.post, self.name)

html文件

} </style>
{% for post in posts %}
<img src="{{MEDIA_URL}}{{post.photo.url}}" width="800"  />

<h3>{{ post.name_barber}}</h3>
<p>{{ post.description}}</p>
{% endfor %}


<h3> Comments.. </h3>

{% if not post.comments.all %}
    no comments yet...<a href = "#">Add one</a>

{% else %}

    {% for comment in post.comments.all %}

    <strong>
        {{ comment.name }}
        {{ comment.date_add }}
    </strong>
        {{comment.body }}
     {% endfor %}
{% endif %}

通过管理面板添加评论后,页面显示:尚无评论。.请问是什么问题?

Arjun

删除if/else条件并{% empty %}在forloop中使用标记。

 {% for comment in post.comments.all %} 
        <strong>
            {{ comment.name }}
            {{ comment.date_add }}
        </strong>
            {{comment.body }}

        {% empty %}
             no comments yet...<a href = "#">Add one</a>
  {% endfor %}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章