Простой JWT-токенRefreshView: ответ имеет два типа
У меня проблемы с доступом к атрибуту data объекта Response в Django Rest Framework после обновления токена доступа.
factory = APIRequestFactory()
new_request = factory.post(
"/api/token/refresh/",
{"refresh": refresh_token},
format="json",
)
new_request.META["CONTENT_TYPE"] = "application/json"
refresh_view = TokenRefreshView.as_view()
refresh_response = refresh_view(new_request)
print(type(refresh_response))
refresh_response.data["message"] = "Token refresh successful"
Когда я запускаю этот код, оператор печати правильно выводит <class 'rest_framework.response.Response'>
.
Однако Pylint жалуется, что я не могу получить доступ к атрибуту data.
Cannot access attribute "data" for class "HttpResponse" Attribute "data" is unknownPylancereportAttributeAccessIssue
Response из TokenRefreshView.as_view()
- это объект HTTPResponse или его подкласс, например, Response из DRF.
Преобразуйте ответ в JSON и используйте его.
import json
if refresh_response.status_code == 200:
response_data = json.loads(refresh_response.content)
response_data["message"] = "Token refresh successful"
else:
print("Token refresh failed with status code: ", refresh_response.status_code)