I've read the duplicates and nothing seems to be working. I can do the put request directly from the form in the url but I can't seem to get the axios request working.
I tried:
CSRF with Django, React+Redux using Axios https://gist.github.com/paltman/490049a64fa4115a2cea
my view.py:
class FrequencyList(generics.ListCreateAPIView):
    queryset = Frequency.objects.all()
    serializer_class = FrequencySerializer
class FrequencyDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Frequency.objects.all()
    serializer_class = FrequencySerializer
My axios request:
axios({
        method: 'put',
        url: '/f/'+id,
        data: {
            item: item,
        },
    }).then(function (response) {
        this.setState({needReceipt: true});
    })
    .catch(function (error) {
        console.log(error);
    });
In my settings.py:
REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.AllowAny',
    ),
}
in my webpack.config.dev.js:
const axios = require('axios');
axios.defaults.xsrfHeaderName = "X-CSRFToken";
axios.defaults.xsrfCookieName = "csrftoken";