Ошибка файла cookie CSRF, фабрика запросов Django Rest Framework - PullRequest
0 голосов
/ 22 мая 2019

Я тестирую пост-метод VIEW и получаю ответ 403. С ошибкой ниже.

`def single_plate_pri(self):
    u = User.objects.get(username = 'c269880')
    self.client.force_authenticate(u)
    data = copy.deepcopy(self.valid_pri_data)
    factory = RequestFactory()
    post_url = '/sequence-request/confirm/'
    request = factory.post(post_url, data, user= u, 
    simulation_mode = True, enforce_csrf_checks=True)
    request.user = User.objects.get(username='c269880')
    view = csrf_exempt(SequencingRequestSpreadsheetView().as_view())
    resp = view(request)
    self.assertEqual(resp.status_code, 200)`

Ошибка:

{'detail': ErrorDetail (string = 'CSRF Failed: файл cookie CSRF не установлен.', код = 'license_denied')}

Я даже пробовал csrf в представлении, но он не работал.

1 Ответ

0 голосов
/ 22 мая 2019

добавьте csrf_exempt к вашему view.py:

from django.views.decorators.csrf import csrf_exempt

, чем используйте этот тип:

@csrf_exempt
 def single_plate_pri(self):
    u = User.objects.get(username = 'c269880')
    self.client.force_authenticate(u)
    data = copy.deepcopy(self.valid_pri_data)
    factory = RequestFactory()
    post_url = '/sequence-request/confirm/'
    request = factory.post(post_url, data, user= u, 
    simulation_mode = True, enforce_csrf_checks=True)
    request.user = User.objects.get(username='c269880')
    view = csrf_exempt(SequencingRequestSpreadsheetView().as_view())
    resp = view(request)
    self.assertEqual(resp.status_code, 200)
...