Python 提交后,注释未显示在django中

Python 提交后,注释未显示在django中,python,django,Python,Django,我试图从应用程序而不是django管理员提交评论。从我创建的应用提交评论时不显示。但当我从django管理员应用程序添加评论时,它会显示出来。可能是我在views.py文件中做错了什么。有人能帮我吗?非常感谢。 views.py: @login_required def book_review(request,id): book = get_object_or_404(Bookslist, id=id) comment=Comment.objects.all().filter(post_id=i

我试图从应用程序而不是django管理员提交评论。从我创建的应用提交评论时不显示。但当我从django管理员应用程序添加评论时,它会显示出来。可能是我在views.py文件中做错了什么。有人能帮我吗?非常感谢。 views.py:

@login_required
def book_review(request,id):
book = get_object_or_404(Bookslist, id=id)
comment=Comment.objects.all().filter(post_id=id)
if request.method == 'POST':
    form = CommentForm(request.POST)
    if form.is_valid():
        post = form.save(commit=False)
        post.user_id = request.user
        post.message= comment
        post.save()
        return redirect('book_review', id=id)
    else:
        form=CommentForm()
return render(request, "books/book_review.html", {'book':book, 'comment':comment, 'form': form})
models.py:

class Comment(models.Model):
message= models.TextField('Message',null=True)
date_comment=models.DateTimeField(default=now, null=True)
user_id= models.ForeignKey(User, on_delete=models.CASCADE,null=True)
post_id=models.ForeignKey(Bookslist,on_delete=models.CASCADE,null=True)
forms.py:

from django import forms 
from .models import Comment 

class CommentForm(forms.ModelForm):
class Meta:
    model = Comment
    fields = ['message', ]
book_review.html:

{% extends 'books/base.html' %}
{% load static %}

{% block stylesheet %}
<link rel="stylesheet" href="{% static 'accounts/accounts.css' %}">
{% endblock %}

{% block content %}

<div class = "container">
<ul class = "nav nav-tabs" id = "myTab" role = "tablist">
   <li class = "nav-item">
      <a class = "nav-link active" id = "summary-tab" data-toggle = "tab" 
         href = "#summary" role = "tab" aria-controls = "summary" 
         aria-selected = "true">Summary</a>
   </li>
   <li class = "nav-item">
      <a class = "nav-link" id = "characters-tab" data-toggle = "tab" 
         href = "#characters" role = "tab" aria-controls = "characters" 
         aria-selected = "false">Characters</a>
   </li>
   <li class = "nav-item">
      <a class = "nav-link" id = "relatedbooks-tab" data-toggle = "tab" 
         href = "#relatedbooks" role = "tab" aria-controls = "relatedbooks" 
         aria-selected = "false">Related Books</a>
   </li>
</ul>

<div class = "tab-content" id = "myTabContent">
   <div class = "tab-pane fade show active" id = "summary" role = "tabpanel" 
      aria-labelledby = "summary-tab"><br><br>
      {{book.summary}}

    </div>
   
   <div class = "tab-pane fade" id = "characters" role = "tabpanel" 
      aria-labelledby = "characters-tab"><br><br>

      {{book.c1}}<br><br>{{book.c2}}<br><br>{{book.c3}}<br><br>{{book.c4}}<br><br>{{book.c5}}<br><br> 
   {{book.c6}}<br><br>{{book.c7}}<br><br>{{book.c8}}<br><br>{{book.c9}}<br><br>
      {{book.c10}}
     </div>
   
   <div class = "tab-pane fade" id = "relatedbooks" role = "tabpanel" 
      aria-labelledby = "relatedbooks-tab">Content for related books tab</div>
</div>
<br>
<br>
<div class="container">
  <form method="post" class="mb-4">
     {% csrf_token %}
     <div class="form-group">
        <label for="exampleFormControlTextarea1">Leave your comment:</label>
        <textarea class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea>
      </div>
     <button type="submit" class="btn btn-success">Post</button>
   </form>

{% for com in comment %}
<div class="card mb-2">
  <div class="card-body p-3">
    <div class="row">
      <div class="col-2">
        <img src="{% static 'images/icon2.webp' %}" alt="{{ com.user_id }}" class="w-100">
        <small>Posts: {{ com.count }}</small></div>
        <div class="col-10">
           <div class="row mb-3">
             <div class="col-6">
               <strong class="text-muted">{{ com.user_id }}</strong>
             </div>
             <div class="col-6 text-right">
               <small class="text-muted">{{ com.date_comment }}</small>
             </div>
           </div>
           {{ com.message }}<br><br>
           {% if com.user_id == user %}
               <button type="button" class="btn btn-primary">Reply</button>
           {% endif %}
      
   </div>
</div></div></div></div>
{% endfor %}
</div>
</div>
</div>

<!-- jQuery library -->
<script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js" 
integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" 
crossorigin = "anonymous">
</script>

<!-- Popper -->
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" 
integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" 
crossorigin = "anonymous">
</script>

<!-- Latest compiled and minified Bootstrap JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" 
integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" 
crossorigin="anonymous">
</script>


{% endblock %}
{%extends'books/base.html%}
{%load static%}
{%块样式表%}
{%endblock%}
{%block content%}


{{book.summary}

{{book.c1}

{{{book.c2}

{{{book.c3}

{{book.c4}

{{book.c5}

{{book.c6}

{{{book.c7}

{{{book.c8}

{{book.c9}

{{book.c10}} “相关书籍的内容”选项卡

{%csrf_令牌%} 请留下您的评论: 邮递 {注释%中com的%1} 帖子:{{com.count} {{com.user_id}} {{com.date_comment} {{com.message}}

{%if com.user_id==user%} 回复 {%endif%} {%endfor%} {%endblock%}
您需要将
post\u id
添加到新创建的注释中

像这样:

post.post\u id=id
另外,请确保您对变量使用了正确的命名。我认为,根据CommentForm:
model=comment

这种替换对于代码来说是有意义的:

if request.method==“POST”:
表单=评论表单(request.POST)
如果form.is_有效():
comment=form.save(commit=False)
comment.user_id=request.user
comment.message=comment
comment.post_id=id
comment.save()