Я новичок в веб-разработке, поэтому заранее простите меня за невежество.
Я использую React, чтобы попытаться отправить данные на конечную точку сервера, управляемую Django, используя этот метод:
sendData(data) {
const url = "http://127.0.0.1:8080/api/filtros/1/";
const requestOptions = {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify(data)
};
fetch(url, requestOptions);
}
В onClick компонента React NavDropdown:
<NavDropdown.Item
key={item.id}
onClick={() =>
this.sendData({
id: 0,
dimension_id: dimension.id,
item_id: item.id,
usuario_id: 1
})
}
>
{item.descripcion}
</NavDropdown.Item>
Вот как я регистрирую URL-адрес на маршрутизаторе с помощью Django:
router.register('api/filtros/1', FiltroUsuariosViewSet, 'filtro')
Мой Django ModelViewSet выглядит так:
class FiltroUsuariosViewSet(viewsets.ModelViewSet):
queryset = FiltroUsuarios.objects.all()
permission_classes = [
permissions.AllowAny
]
serializer_class = FiltroUsuariosSerializers
И мой сериализатор Django выглядит так:
class FiltroUsuariosSerializers (serializers.ModelSerializer):
class Meta:
model = FiltroUsuarios
fields = ('id', 'dimension_id', 'item_id', 'usuario_id')
def create(self, validated_data):
post = FiltroUsuarios.objects.create(**validated_data)
Когда я нажимаю на компонент, я получаю это: POST http://127.0.0.1:8080/api/filtros/1/ 400 (Bad Request)
и, по-видимому, ошибка связана с запросом на выборку.
Ребята, у вас есть идеи, в чем проблема?
Заранее большое спасибо!
400 Bad Request
означает, что данные, которые вы отправляете, неверны. - person Kox   schedule 23.03.2020headers: { Accept: "application/json", "Content-Type": "application/json" },
и попробуйте еще раз, у меня это сработало, не знаю почему - person Sentouki   schedule 24.02.2021