Итак, у меня есть веб-приложение, в котором есть основной пост модели и комментарий субмодели.когда я хочу одобрить комментарий (используя моего суперпользователя) к сообщению, я пишу и форму комментария, а затем отправляю его на утверждение.когда суперпользователь нажмет «Одобрить»!что-то идет не так, и я перенаправлен на 404. Я не могу найти проблему в коде.
"Не найдено: / comment / 9 / Одобрить /"
пытался возиться с urls.py и views.py, но его отсутствие мне кажется проблемой.
в urls.py:
url(r'^post/(?P<pk>\d+)/comment/$',views.add_comment_to_post,name
='add_comment_to_post'),
url(r'^post/(?P<pk>\d+)$',views.PostDetailView.as_view(),name='post_detail'),
в views.py:
@login_required
def comment_approve(request,pk):
comment = get_object_or_404(Comment,pk=pk)
comment.approve()
return redirect('post_detail',pk=comment.post.pk)
Модель комментариев в models.py:
class Comment(models.Model):
post = models.ForeignKey('Myblog.post',related_name='comments',on_delete=models.CASCADE)
author = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
approve_comment = models.BooleanField(default=False)
def approve(self):
self.approved_comment = True
self.save()
Форма комментариевв forms.py:
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ('author','text')
widgets={
'author':forms.TextInput(attrs={'class':'textinputclass'}),
'text':forms.Textarea(attrs={'class':'editable medium-editor-textarea'})
}
в urls.py:
urlpatterns =[
url(r'^$',views.PostListView.as_view(),name='post_list'),
url(r'^about/$',views.AboutView.as_view(),name='about'),
url(r'^post/(?P<pk>\d+)$',views.PostDetailView.as_view(),name='post_detail'),
url(r'^post/new/$',views.CreatePostView.as_view(),name='post_new'),
url(r'^post/(?P<pk>\d+)/edit/$',views.PostUpdateView.as_view(),name='post_edit'),
url(r'^post/(?P<pk>\d+)/remove/$',views.PostDeleteView.as_view(),name='post_remove'),
url(r'^drafts/$',views.DraftListView.as_view(),name='post_draft_list'),
url(r'^post/(?P<pk>\d+)/comment/$',views.add_comment_to_post,name ='add_comment_to_post'),
url(r'^comment/(?P<pk>\d+)/approve/$',views.comment_approve,name='comment_approve'),
url(r'^comment/(?P<pk>\d+)/remove/$',views.comment_remove,name='comment_remove'),
url(r'^post/(?P<pk>\d+)/publish/$',views.post_publish,name='post_publish'),
]
Я ожидаю, что будет перенаправлен обратно в подробный вид публикации, когда комментарийутвержден