我尝试在Docker上使用django restframwork构建rest api,并希望在下面运行测试,但是我一直收到401错误。
我可以登录django管理页面和restframework仪表板,没有任何问题。 我以为是因为令牌认证,但还是一样。 当我登录Restfrawork仪表板时,它完全可以正常工作
我尝试在标头中添加令牌,但仍未解决。 希望我能在这里得到一些帮助。
views.py
from rest_framework import status
@api_view(['POST'])
def send_quote(request, format=None):
if request.method == 'POST':
data = {'dummy':'dummy item'}
return Response('dummy', status=status.HTTP_201_CREATED)
tests.py
import json
from django.test import TestCase, Client
from rest_framework import status
from rest_framework.test import APIClient, APITestCase
client = APIClient()
class DummyTest(APITestCase):
def setUp(self):
self.context = {....}
self.token = 'Token ********'
def test_send_request(self):
client.credentials(HTTP_AUTHORIZATION=self.token)
data = json.dumps(self.context)
request = client.post('/api/', data, format='json')
self.assertEqual(request.status_code, status.HTTP_201_CREATED)
settings.py
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
],
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAdminUser',
'rest_framework.permissions.IsAuthenticated',
],
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 10,
}