Форма не появляется и не работает в проекте Django

Я относительно новичок в Django, поэтому столкнулся с одной небольшой проблемой. Я прочитал документацию и решил сделать свою собственную форму комментариев, которая отображается на той же странице (DetailView), где я отображаю деталь вопроса и все ответы, связанные с этим вопросом. Я попытался сделать все так, как написано в документации, но ничего не получилось. Я написал несколько функций, но и они не помогли. Затем я скопировал некоторые стили из bootstrap, что-то появилось, но я все еще не могу ничего опубликовать. Похоже, что метод POST не работает.

Это работает, когда я добавляю кнопку, которая ведет на конкретную страницу, где пользователи могут оставлять комментарии, но я хочу показать форму, отобразить ее на той же странице, где отображаются все ответы. Я буду благодарен за любую помощь, рекомендации и объяснения, как это работает.

models.py

class Question(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
    title = models.CharField(max_length=250)
    slug = models.SlugField(max_length=255, db_index=True, verbose_name="URL")
    detail = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    likes = models.ManyToManyField(User, related_name="forum_question")

    def total_likes(self):
        return self.likes.count()

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('detail', kwargs={'slug': self.slug})


class Answer(models.Model):
     question = models.ForeignKey(Question, on_delete=models.CASCADE)
     user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
     detail = models.TextField()
     date_posted = models.DateTimeField(default=timezone.now)
    likes = models.ManyToManyField(User, related_name="forum_answer")

    def total_likes(self):
         return self.likes.count()

    def __str__(self):
         return self.detail


class Comment(models.Model):
    answer = models.ForeignKey(Answer, on_delete=models.CASCADE, null=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
    detail = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)

    def __str__(self):
         return '%s - %s' % (self.answer.detail, self.date_posted)

forms.py

class AnswerForm(forms.ModelForm):
    class Meta:
        model = Answer
        fields = ('detail',)


class CommentForm(forms.ModelForm):
    class Meta:
        model = Comment
        fields = ('detail',)

views.py

 class CommentView(LoginRequiredMixin, CreateView):
    model = Comment
    # form_class = CommentForm
    template_name = 'forum/detail.html'
    fields = ['detail']
    success_url = 'forum/detail.html'
    http_method_names = ['post']

    def form_valid(self, form):
        form.instance.answer_id = self.kwargs['id']
        form.instance.user = self.request.user
        return super().form_valid(form)

detail.html

<!-- Comment Section Starts-->
                <form class="mb-4 ml-5 mt-3" method="post" action="">
                    {% csrf_token %}
                    {{ form.as_p }}
                    <textarea class="form-control" rows="3" placeholder="Join the discussion and leave a comment!"></textarea>
                    <button type="submit" class="comment_button btn btn-dark">Answer</button>
                </form>
Вернуться на верх