3

有一个用俄语提交日期的表格,典型的输入如下:

“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)

4

0 回答 0