мой код для комментариев работает нормально, но как только я добавляю функцию уведомлений, она не работает, а уведомления вроде как работают.Я использую стороннее приложение django -tification-hq.отсюда: https://github.com/django-notifications/django-notifications
вот мой код
class Comment(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
message = models.TextField()
ordered = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['-id']
def get_edit_url(self):
return reverse('comment_edit', args=[self.post.pk, self.pk])
def get_delete_url(self):
return reverse('comment_delete', args=[self.post.pk, self.pk])
def save(self, *args, **kwargs):
notify.send(self.author, recipient=self.post.author, action_object=self.post, target=self, verb="commented on")
views.py
@login_required
def comment_new(request, post_pk):
post = get_object_or_404(Post, pk=post_pk)
if request.method == 'POST':
form = CommentForm(request.POST)
if form.is_valid():
comment = form.save(commit=False)
comment.post = post
comment.author = request.user
comment.save()
return redirect(comment.post)
else:
form = CommentForm()
return render(request, 'community/comment_form.html', {
'form':form,
})
urls.py
path('post/<int:post_pk>/comment/new',views.comment_new, name='comment_new'),
Я добавилэта единственная строка,
def save(self, *args, **kwargs):
notify.send(self.author, recipient=self.post.author, action_object=self.post, target=self, verb="commented on")
Моя новая модель
class Comment(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
message = models.TextField()
ordered = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['-id']
def get_edit_url(self):
return reverse('comment_edit', args=[self.post.pk, self.pk])
def get_delete_url(self):
return reverse('comment_delete', args=[self.post.pk, self.pk])
def save(self, *args, **kwargs):
notify.send(self.author,
recipient=self.post.author,
action_object=self.post,
target=self,
verb="commented on")
super(Comment, self).save(*args, **kwargs)
error message: NameError: name 'Comment' is not defined