В основном я сделал с Python-запросами и функцией поиска Django через API Google Книг с одним параметром q (как показано в ссылке ниже)
https://developers.google.com/books/docs/v1/using#WorkingVolumes
и после отправки формы я получаю список диктов в json, как я хочу с этим единственным параметром, и я получаю в данных json, где ключевое слово appers "Hobbit" и URL выглядят так
http://127.0.0.1:8000/api?books=hobbit
но когда я пытаюсь добавить специальные ключевые слова, предоставляемые API Google Книг, например,
intitle, inauthor, inpublisher, предмет и т. Д.
и пытаясь найти его, я получаю URL
http://127.0.0.1:8000/api?books=hobbit&intitle=&inauthor=&inpublisher=&isbn=&lccn=&oclc=
, который возвращает данные только одного параметра q , поскольку правильный URL-адрес для специальных ключевых слов в API Книг Google выглядит следующим образом
https://www.googleapis.com/books/v1/volumes?q=flowers+inauthor:keyes+subject:somesubject
Итак, как вы видите, правильный URL получил знаки
+ против & и : против =
поэтому правильный URL-адрес, который я хочу получить, будет выглядеть так
http://127.0.0.1:8000/api?books=hobbit+intitle:something+inauthor:something+inpublisher:something+isbn:something+lccn:something+oclc:something
Мой вопрос: как изменить эту структуру, чтобы она соответствовала требованиям API книг Google?
Пытался найти это в документации по python-запросам, но в этом нет ничего
* * Views.py тысяча сорок-девять
def api(request):
books = {
'intitle': 'intitle',
'inauthor': 'inauthor',
'inpublisher': 'inpublisher',
'subject': 'subject',
'isbn': 'isbn',
'lccn': 'lccn',
'oclc': 'oclc'
}
if 'books' in request.GET:
books = request.GET['books']
url = 'https://www.googleapis.com/books/v1/volumes?q=%s' % books
response = requests.get(url)
books = response.json()
print(type(books))
with open("data_file.json", "w") as write_file:
json.dump(books, write_file)
return render(request, 'books/api.html', {'books': books})