Как исправить этот необоснованный URL в Django - PullRequest
0 голосов
/ 02 июня 2019

Итак, у меня есть веб-приложение, в котором есть основной пост модели и комментарий субмодели.когда я хочу одобрить комментарий (используя моего суперпользователя) к сообщению, я пишу и форму комментария, а затем отправляю его на утверждение.когда суперпользователь нажмет «Одобрить»!что-то идет не так, и я перенаправлен на 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'),

]

Я ожидаю, что будет перенаправлен обратно в подробный вид публикации, когда комментарийутвержден

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...