django形成的评论不可见

时间:2014-01-06 17:12:03

标签: django django-forms

我可以在db中添加注释并在管理面板中查看它,但在帖子中看不到添加的注释(view_post.html)。 我不明白这个原因

模型:

class Comment(models.Model):
name = models.CharField('Имя:', max_length=100)
create_date  = models.DateField(blank=True, null=True)
text = models.TextField()

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

形式:

class CommentForm(ModelForm):
class Meta:
    model = Comment
    fields = ['name', 'create_date', 'text']

的观点:

def view_post(request, slug):
post_detail = get_object_or_404(Article, slug=slug)
form = CommentForm(request.POST or None)
if form.is_valid():
    comment = form.save(commit=False)
    comment.post_detail = post_detail
    comment.save()
    return redirect(request.path)
return render_to_response('view_post.html', {
    'post_detail': post_detail, 'form': form },
 context_instance=RequestContext(request))

发布模板:

{% extends 'base.html' %}
{% block head_title %}{{ post_detail.title }}{% endblock %}
{% block title %}{{ post_detail.title }}{% endblock %}
{% block content %}
{{ post_detail.body }}

{% if post_detail.comment_set.all %}
    {% for comment in post_detail.comment_set.all %}
       {{ comment.name }}
       {{ comment.text }}
    {% endfor %}
{% endif %}
<form action="" method="POST">
    {% csrf_token %}
    <table>
        {{ form.as_table }}
    </table>
<input type="submit" name="submit" value="Submit" />
</form>
{% endblock %}

1 个答案:

答案 0 :(得分:0)

您在保存时将comment.post_detail设置为当前文章,但实际上您似乎没有post_detail ForeignKey。事实上,你根本没有任何关于评论和文章之间或评论和任何事情之间的任何关系。