#django #django-rest-framework #localization
#django #django-rest-framework #локализация
Вопрос:
Имейте форму для отправки даты на русском языке, типичный ввод будет выглядеть:
«1 апреля 2020»
Также есть сериализатор:
class CartSerializer(serializers.Serializer):
...
delivery_date = serializers.DateTimeField(input_formats=['%d %B %Y',])
При settings.py
наличии:
LANGUAGE_CODE = 'ru'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
Когда я отправляю delivery_date
в rest API, он возвращает ошибку:
{"delivery_date":["Datetime has wrong format. Use one of these formats instead: DD [January-December] YYYY."]}
Возможно ли в DRF принимать неанглоязычное значение даты?
Upd (в комментарии @GlennDJ):
мой view.py
from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from .serializers import CartSerializer
@api_view(['GET', 'POST'])
def add_tocart_api(request):
...
serializer = CartSerializer(data=request.data)
print(serializer)
if serializer.is_valid():
print(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Здесь не использовались формы django, просто отправленные {delivery_date: "22 Октября 2021"}
из интерфейса через ajax (выборка js)
Комментарии:
1. Можете ли вы показать код, в котором вы ссылаетесь
CartSerializer
на представление / форму?2. @GlennDJ обновил вопрос в вашем комментарии, спасибо