Как добавить возможность комментировать пост блога DetailView?

views.py

class BlogDetailView(DetailView):
    model = Post
    template_name = 'post_detail.html'

    def get_context_data(self, **kwargs):
        context = super(BlogDetailView, self).get_context_data(**kwargs)
        print(context)
        context['comment'] = CommentForm()
        print(context)
        return context

forms.py

class CommentForm(forms.ModelForm):
    class Meta:
        model = Comment
        fields = ['body']

post_detail.html

<div class="comform">
    <h2>Add a new comment</h2>  
      <form action="post_detail" method="post">  
        {{ comment.as_p }}  
        {% csrf_token %}  
        <p><input type="submit" value="Add comment"></p>  
      </form>
</div>

models.py

class Post(models.Model):
    title = models.CharField(max_length=200)
    author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
    body = models.TextField()
    posted = models.DateTimeField(auto_now=True)
    img = models.ImageField(upload_to='images/', null=True, blank=True)
    tags = models.ManyToManyField('Tag', blank=True, related_name='posts')

    def __str__(self):
        return self.title

    class Meta:
        ordering = ['-posted']

class Comment(models.Model):
    post = models.ForeignKey(Post, related_name='comments', on_delete=models.CASCADE)
    com_author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
    body = models.TextField()
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    active = models.BooleanField(default=True)

    class Meta:
        ordering = ('-created',)

    def __str__(self):
        return 'Comment by {} on {}'.format(self.com_author, self.post)

я начинающий говнокодер на питоне так что сорян. Вот что то такое я сделал у меня выводит формы но не сохраняет а еще добавляет к юрл адресу post_detail 'http://127.0.0.1:8000/post/11/post_detail'

как мне сделать рабочую форму коментариев?


Ответы (0 шт):