Как искать книги в Google API - PullRequest
       3

Как искать книги в Google API

0 голосов
/ 14 февраля 2020

Я пытаюсь отобразить все книги из API Google на основе переданного значения, а затем вставить их в базу данных. Я не могу представить, как передать значение классу, ответственному за получение ответа. Решение, которое в настоящее время я пытаюсь использовать, это dajn go формы. Ниже приведен фрагмент моего кода.

просмотров:

class GoogleImportBook(FormView): 
    model = Book
    form_class = GoogleImportForm
    template_name = "API/search_for_book.html"
    success_url = reverse_lazy("books_api") 


    def book_search(self, value):
        param = {"q":value, "key":settings.API_KEY}
        api_url = "https://www.googleapis.com/books/v1/volumes"
        response = requests.get(url=api_url, params=param)
        items = response.json()["items"]
        for item in items:
            print(item["volumeInfo"]["title"])

forms.py

class GoogleImportForm(forms.Form):
    q = forms.CharField()
    class Meta:
        model = Book
        fields=["q"]

models.py

class Book(models.Model):
    title = models.CharField(max_length=100)    
    publication_date = models.CharField(max_length=11)
    authors = models.ManyToManyField("Author", related_name="author")
    ISBN = ISBNField() 
    pages = models.IntegerField(blank=True)
    language = models.CharField(max_length=4)

    def __str__(self):
        return self.title

    def get_all_authors(self):
        return "".join([x.name +", " for x in self.authors.all()])[:-2]


    class Meta:
        ordering = ["title"] 

I Предположим, что использование обычных форм django не является хорошей практикой для работы с REST в django.

...