Джанго Отдых и Аксиос
Я пытаюсь разместить данные, используя DRF и Axios. До сих пор я пробовал пару разных вариантов с тем же результатом, 403 (Запрещено). Я могу получить данные с помощью axios.get, но не могу опубликовать данные. Я новичок в отдыхе и использую ajax, поэтому прошу прощения, если это что-то очевидно.
Аксиос звонок
return axios({
method: 'post',
url: "/schedules/",
data: {
"emp": this.emp.emp,
'start_time': this.startTime,
"end_time": this.endTime,
"date": this.today,
"location": this.location
},
xsrfHeaderName: "X-CSRFToken",
responseType: 'json'
})
Settings.py
CSRF_COOKIE_NAME = "XSRF-TOKEN"
Serializer
class SchedSerializer(serializers.ModelSerializer):
class Meta:
model = Schedule
fields = (
'location',
'emp',
'date',
'start_time',
'end_time'
)
Посмотреть
class SchedViewSet(viewsets.ModelViewSet):
queryset = Schedule.objects.all()
serializer_class = serializers.SchedSerializer
1 ответ
Это настройка, которую я использую, которая работает. Есть две вещи, вам нужно убедиться, что ваш заголовок отправляется правильно.
HTTP.defaults.headers.post['x-csrftoken'] = {{csrf_token}};
HTTP.post('django-url/', {"id":id,"value":resp})
Я смог решить эту проблему с помощью https://github.com/ottoyiu/django-cors-headers. Убедитесь, что ваш csrf_token заполнен правильно, а затем убедитесь, что вы разрешаете передавать нужные заголовки приложению django в settings.py:
CORS_ALLOW_HEADERS = (
...
'x-csrftoken',
...
}