Django + Python-запросы ошибка "имя 'ответ' не определено" - PullRequest
0 голосов
/ 10 мая 2019

Я пытался написать простое представление, извлекающее данные из API Google Books из URL

https://www.googleapis.com/books/v1/volumes?q=

  • , но пока безуспешно.Например, я получаю ответ, когда пытаюсь найти книгу "frodo"
book    
'frodo'
reponse 
<Response [200]>
request 
<WSGIRequest: GET '/api?book=frodo'>
url 
'https://www.googleapis.com/books/v1/volumes?q=frodo'

, но также получаю сообщение об ошибке

name 'response' is not defined

Все, чем я являюсьПопытка сделать это только для получения данных, таких как название, авторы и siplay их на просмотр.

Попытка с https://jsoneditoronline.org/, чтобы сделать что-то, и я получил, что формат данных

например, название книги выглядит следующим образом►items►0►volumeInfo►title

Но я пытаюсь получить все результаты, а не отдельные, поэтому я не уверен, почему возникает ошибка

views.py

import requests
import json

def api(request):
    book = {}
    if 'book' in request.GET:
        book = request.GET['book']
        url = 'https://www.googleapis.com/books/v1/volumes?q=%s' % book
        reponse = requests.get(url)
        book = response.json()
    return render(request, 'books/api.html', {'book': book})

api.html

{% block content %}
  <h2>Google API</h2>
  <form method="get">
    <input type="text" name="book">
    <button type="submit">search on google books api</button>
  </form>
  {% if book %}
      <p>
        <strong>{{ book.title }} {{ book.authors }}
      </p>
  {% endif %}
{% endblock %}

1 Ответ

2 голосов
/ 10 мая 2019

вероятно, это орфографическая ошибка.Вы получаете данные в переменной **reponse** и проверяете, что response alphabet s отсутствует в первую очередь.пожалуйста, используйте ниже

response = requests.get(url)
book = response.json()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...