Страница блога React Не загружается и раздел комментариев не работает
Я работаю над страницей блога React, на которой пользователи могут просматривать записи в блоге и оставлять комментарии (аналогично разделу комментариев YouTube). Однако после перехода на страницу блога и нажатия на блог, который я хочу просмотреть, содержимое больше не загружается должным образом и просто зависает, сообщая о загрузке, поэтому содержимое больше не отображается на указанной странице, и раздел комментариев также не отображается.
Что я попробовал и ожидаемый результат:
Выборка записей в блоге:
Используется
axios.get('http://127.0.0.1:8000/api/blogs/')
внутриuseEffect()
.Я ожидал, что сообщения будут загружаться, но они не отображаются.
Удаление записей в блоге:
Используется
axios.delete(\
http://127.0.0.1:8000/api/blogs/delete/$%7BblogId%7D/%5C%5C%5C%60, { заголовки: { Авторизация: `Токен ${user.token}` } })`.Ожидал, что удаление блога сработает, но столкнулся с ошибками.
Система комментирования:
Реализован раздел комментариев с использованием
axios.post()
для отправки новых комментариев, но вообще ничего не отображается, он просто застрял с надписью "загрузка".Ожидалось, что будут отображены комментарии, но они не отображаются.
Вот фрагмент кода, который я пытаюсь запустить
@api_view(['GET', 'POST'])
@authentication_classes([TokenAuthentication])
@permission_classes([IsAuthenticated])
def blog_comments(request, blog_id):
"""
GET /blogs/<blog_id>/comments/
Returns: All comments for specified blog
POST /blogs/<blog_id>/comments/
Required data: content, parent (optional for replies)
Returns: Created comment data
Requires: Authentication Token
"""
blog = get_object_or_404(Blog, id=blog_id)
if request.method == 'GET':
comments = Comment.objects.filter(blog=blog, parent=None)
serializer = CommentSerializer(comments, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = CommentSerializer(data=request.data)
if serializer.is_valid():
serializer.save(blog=blog, author=request.user)
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
@api_view(['DELETE'])
@authentication_classes([TokenAuthentication])
@permission_classes([IsAuthenticated])
def delete_comment(request, comment_id):
"""
DELETE /blogs/<blog_id>/comments/<comment_id>/
Deletes specified comment if user is author
Requires: Authentication Token
Returns: 204 No Content on success
"""
comment = get_object_or_404(Comment, id=comment_id)
if comment.author != request.user:
return Response({'detail': 'Permission denied'}, status=status.HTTP_403_FORBIDDEN)
comment.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
Интерфейс
api - urls.py
from django.urls import path
from .views import blog_comments, delete_comment
urlpatterns = [
path('blogs/<int:blog_id>/comments/', blog_comments, name='blog_comments'),
path('blogs/<int:blog_id>/comments/<int:comment_id>/', delete_comment, name='delete_comment'),
]