有一个用俄语提交日期的表格,典型的输入如下:
“2020 年 1 月”
还有一个序列化器:
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到休息 API 时,它返回一个错误:
{"delivery_date":["Datetime has wrong format. Use one of these formats instead: DD [January-December] YYYY."]}
DRF 中是否可以接受非英语日期值?
更新(@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 fetch)