Метод drf-spectacular post не работает с полем формы
Я использую Django Rest Framework. А для документации я использую drf-spectacular.
Но проблема, с которой я столкнулся, заключается в том, что когда я пытаюсь отправить форму, я не могу ее отправить. Но я могу нормально отправить, используя тип JSON.
Это не работает:
Это работает:
Как заставить форму работать? Она даже не позволяет мне отправить форму. Также, Как я могу сделать 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,

