Страница блога React Не загружается и раздел комментариев не работает

Я работаю над страницей блога React, на которой пользователи могут просматривать записи в блоге и оставлять комментарии (аналогично разделу комментариев YouTube). Однако после перехода на страницу блога и нажатия на блог, который я хочу просмотреть, содержимое больше не загружается должным образом и просто зависает, сообщая о загрузке, поэтому содержимое больше не отображается на указанной странице, и раздел комментариев также не отображается.

Что я попробовал и ожидаемый результат:

  1. Выборка записей в блоге:

    • Используется axios.get('http://127.0.0.1:8000/api/blogs/') внутри useEffect().

    • Я ожидал, что сообщения будут загружаться, но они не отображаются.

  2. Удаление записей в блоге:

    • Используется axios.delete(\http://127.0.0.1:8000/api/blogs/delete/$%7BblogId%7D/%5C%5C%5C%60, { заголовки: { Авторизация: `Токен ${user.token}` } })`.

    • Ожидал, что удаление блога сработает, но столкнулся с ошибками.

  3. Система комментирования:

    • Реализован раздел комментариев с использованием 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'),
]
Вернуться на верх