Я получаю сообщение об ошибке при попытке добавить комментарии к своему приложению.
моя форма:
from django import forms
from .models import Comment
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = [
'content'
]
И модель:
class Post(models.Model):
title = models.CharField(max_length=50)
content = models.TextField()
author = models.ForeignKey(User , on_delete=models.CASCADE)
image = models.ImageField(upload_to='blog/' , blank=True, null=True)
# tags
category = models.ForeignKey('Category' ,null=True, on_delete=models.SET_NULL)
created = models.DateTimeField(default=timezone.now)
tags = TaggableManager(blank=True)
class Meta:
verbose_name = ' post'
verbose_name_plural = 'posts'
def __str__(self):
return self.title
class Category(models.Model):
category_name = models.CharField(max_length=50)
class Meta:
verbose_name = ' category'
verbose_name_plural = 'catogires'
def __str__(self):
return self.category_name
class Comment(models.Model):
user = models.ForeignKey(User , on_delete=models.CASCADE)
post = models.ForeignKey(Post , on_delete=models.CASCADE)
content = models.TextField()
created = models.DateTimeField(default=timezone.now)
def __str__(self):
return str(self.content)
мои взгляды:
from django.shortcuts import render
from .models import Post , Category , Comment
from taggit.models import Tag
from .forms import CommentForm
def post_detail(request , id):
post_detail = Post.objects.get(id=id)
categories = Category.objects.all()
all_tags = Tag.objects.all()
comments = Comment.objects.filter(post=post_detail)
if request.method == 'POST' :
comment_form = CommentForm(request.POST)
if comment_form.is_valid():
new_comment = comment_form.save(commit=False)
new_comment.user = request.user
new_comment.post = post_detail
new_comment.save()
else:
comment_form = CommentForm()
context = {
'post_detail' : post_detail ,
'categories' : categories ,
'all_tags' : all_tags ,
'comments' : comments ,
'comment_form' : comment_form
}
return render(request , 'Post/post_detail.html' , context)
def post_by_tag(request , tag):
post_by_tag = Post.objects.filter(tags__name__in=[tag])
context = {
'post_list' : post_by_tag ,
}
return render(request , 'Post/post_list.html' , context)
Пожалуйста, помогите мне решить проблему. Я проверил несколько источников, но я не мог решить это. Я нашел несколько похожих кодов, написанных для добавления комментариев к постам, особенно в блогах, и попытался использовать их метод в своем коде. Но я не мог решить это.