Метод drf-spectacular post не работает с полем формы

Я использую Django Rest Framework. А для документации я использую drf-spectacular.

Но проблема, с которой я столкнулся, заключается в том, что когда я пытаюсь отправить форму, я не могу ее отправить. Но я могу нормально отправить, используя тип JSON.

Это не работает:

enter image description here

Это работает:

enter image description here

Как заставить форму работать? Она даже не позволяет мне отправить форму. Также, Как я могу сделать profile_pic как поле файла?

Ниже приведен мой код:

settings.py

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ),
    'DEFAULT_PARSER_CLASSES': [
        'rest_framework.parsers.JSONParser',
        'rest_framework.parsers.FormParser',
        'rest_framework.parsers.MultiPartParser',
        'rest_framework.parsers.FileUploadParser',
    ],
    'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
}

SPECTACULAR_SETTINGS = {
    'TITLE': 'Your Project API',
    'DESCRIPTION': 'Your project description',
    'VERSION': '1.0.0',
}

serializers.py

from rest_framework import serializers
from app_restaurant import models


class RestaurantSerializer(serializers.ModelSerializer):
    """
    Restaurant Create Serializer
    """
    class Meta:
        model = models.Restaurant
        fields = '__all__'
        extra_kwargs = {
            'slug': {'read_only': True},
        }

views.py

from rest_framework import generics
from app_restaurant import serializers, models
from app_user import apipermissions


# Create your views here.
class RestaurantCreateView(generics.CreateAPIView):
    """
    Restaurant Creation View
    """
    permission_classes = [apipermissions.IsOwner]
    serializer_class = serializers.RestaurantSerializer
    queryset = models.Restaurant.objects.all()

То же самое с application/x-www-form-urlencoded. Хотя это работает из curl. Я думаю отказаться от опций application/x-www-form-urlencoded и multipart/form-data - так как мне нужен только JSON - полностью из html, используя css или javascript, если смогу..

Добавьте эту опцию в SPECTACULAR_SETTINGS:

'COMPONENT_SPLIT_REQUEST': True,

Вернуться на верх