BrowsableAPI не работает с функциональными представлениями

Как заставить BrowsableAPI работать с функциональными представлениями? Например, допустим, у меня есть

@api_view(['GET', 'POST'])
@csrf_exempt
def snippet_list(request):
    """
    List all code snippets, or create a new snippet.
    """

    if request.method == 'GET':
        snippets = Snippet.objects.all()
        serializer = SnippetSerializer(snippets, many=True)
        return JsonResponse(serializer.data, safe=False)

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        serializer = SnippetSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data, status=201)
        return JsonResponse(serializer.errors, status=400)

Когда я регистрируюсь в url и получаю доступ к нему, браузер выдает мне сырой json, а не его версию browsableapi. Как я могу заставить его работать? Я просмотрел документацию и посты, но не смог ничего найти, все используют либо классы, либо дженерики. Я знаю, что такой способ создания представлений не идеален, но я все равно хочу знать, как сделать функциональное представление "Browsable".

#snippets/urls.py
from django.urls import path
from .views import snippet_list

urlpatterns = [
    path('', snippet_list, name='snippets')
]
#project/urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('snippets.urls'))
]

Просматривал ваш код и обнаружил

return JsonResponse(serializer.data, safe=False)

в вашем методе Get, и я думаю, что проблема, возможно, в этом.

попробуйте с -

from rest_framework.response import Response
return Response(serializer.data)
Вернуться на верх