Как отобразить результат в Django API - PullRequest
1 голос
/ 06 июня 2019

Я только начал работать над Django на основе Python.Я следую этому примеру, чтобы создать API.

https://dzone.com/articles/create-a-simple-api-using-django-rest-framework-in

Вместо того, чтобы использовать POSTMAN, я использую свой веб-браузер для отображения результата, но я получаю ошибку.Метод «GET» не допускается.Я посмотрел на разные ответы и пришел к выводу, что мне нужно добавить метод «GET». Я попытался изменить

@ api_view ([«POST»]) с «POST» на «GET»

, нозатем выдается ошибка «Ожидаемое значение: строка 1, столбец 1 (символ 0)».

Как я могу добавить GET здесь в этом представлении.

@api_view(["POST"])
def IdealWeight(heightdata):
   try:
      height=json.loads(heightdata.body)
      weight=str(height*10)
      return JsonResponse("Ideal weight should be:"+weight+" kg",safe=False)
   except ValueError as e:
      return Response(e.args[0],status.HTTP_400_BAD_REQUEST)

Нужен ли POSTMAN для просмотра вывода?Спасибо

1 Ответ

1 голос
/ 06 июня 2019

Ваш код неверен.Посмотрите на блог снова .
Ваша функция IdealWeight ожидает значение, которое она пытается получить (используя json.loads(heightdata.body)) из тела вашего запроса GET.Когда вы используете браузер для выполнения запроса GET, тело остается пустым.Это может привести к ошибке или ваш height будет пустым.Если вы просто хотите проверить конечную точку для изменения GET следующим образом.

@api_view(["GET"])
def IdealWeight(request):
  if request.method == 'GET':
    return Response({"Print": "GET request from browser works"}, status=status. HTTP_200_OK)

Вы должны использовать почтальон для проверки POST-запроса, поскольку это облегчает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...