Python Django中的注释线程
我正在构建一个简单的Django应用程序,其中包含博客和博客评论。在开发评论线程时,当我尝试输入评论时,会出现错误“no-this table:blog_commentsonpost”。有人能帮我解决这个问题吗 models.pyPython Django中的注释线程,python,django,Python,Django,我正在构建一个简单的Django应用程序,其中包含博客和博客评论。在开发评论线程时,当我尝试输入评论时,会出现错误“no-this table:blog_commentsonpost”。有人能帮我解决这个问题吗 models.py class Post(models.Model): author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='posts') created_date = models.Date
class Post(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='posts')
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
title = models.CharField(max_length=100)
description = models.CharField(max_length=1000)
def publish(self):
self.published_date = timezone.now()
self.save()
def get_type(self):
return "post"
def get_absolute_url(self):
return reverse("post_detail", kwargs={'pk': self.pk})
def __str__(self):
return self.title
class CommentsOnPost(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='comment')
post = models.ForeignKey('blog.Post', on_delete=models.CASCADE, related_name='comments')
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
text = models.CharField(max_length=1000)
@classmethod
def create(cls, author, text, post):
postcomment = cls(author=author,
post_id=post,
text=text, created_date=timezone.now,
published_date=timezone.now)
return postcomment
views.py
class PostDetailView(DetailView):
model = Post
redirect_field_name = 'post_detail'
def post(self, request, *args, **kwargs):
author = request.user
text = request.POST['postcomment']
post = request.POST['post']
postcomment = CommentsOnPost()
postcomment.text = text
postcomment.author = author
postcomment.save()
return HttpResponseRedirect('/blog/post/{}'.format(post))
html
{%csrf\u令牌%}
评论:
您是否运行了python manage.py makemigrations
和python manage.py migrate
如果它是一个新应用程序,您是否将其添加到settings.py中?您是否运行了
python manage.py makemigrations
和python manage.py migrate
如果是新应用程序,是否将其添加到settings.py
<form method="POST" class="post-form" >{% csrf_token %}
<div class="form-group">
<label for="postcomment">Comments:</label>
<textarea class="form-control" name="postcomment" rows="5"></textarea>
</div>
<input type="hidden" name="post" value="{{ post.id }}">
<div>
<input type="submit" class="btn btn-primary" style="color:blue;" value="Comment"/>