Конечная точка Django выполняется, но не возвращает ответ
Раньше конечная точка работала нормально, но в последнее время, когда я тестировал ее, она выполняет всю логику, которую должна делать, но когда дело доходит до возврата HttpResponse(), она никогда этого не делает. Я получил несколько логов моего кода (печать в этом примере) и дошел до строки перед возвратом Response, но он просто не возвращает его, как будто он застрял после выполнения print().
def endpoint():
# some logic here...
print('I got here')
return HttpResponse(
json.dumps({
'message': constants.FILES_CREATED_MESSAGE, # (string)
'train_file_reports': train_reports, # (list, not too big)
'predict_file_reports': predict_reports, # (list, not too big)
}, indent=4),
status=200
)
Также это происходит, когда "логика" внутри него получает огромное количество данных на вход, хотя она работает нормально, она никогда не возвращается. При меньших данных на входе она работает отлично и возвращается.
Честно говоря, я понятия не имею, почему это происходит, так как никаких ошибок не появляется.
Это APIView of the DRF?
Использовать возврат Response({"foo":"bar"}) из from rest_framework.response import Response
Пожалуйста, убедитесь, что вы печатаете и возвращаетесь на одном уровне.
@api_view(["your_method"])
def view(request):
print("..")
return Response({"foo":"bar"})