Как я могу решить эту проблему с окном поиска книг в django?

Я работаю с django, создавая поисковик книг, вот мой код, я использую видео с youtube для создания этого проекта, я сделал точно так же как он, но это не работает.

views.py:

def books(request):
    if request.method == 'POST':
        form = DashboardForm(request.POST)
        text = request.POST['text']
        url = 'https://www.googleapis.com/books/v1/volumes?q='+text
        r = requests.get(url)
        answer = r.json()
        result_list = []
        for i in range(10):
            result_dict = {
                'title':answer['items'][i]['volumeInfo']['title'],
                'subtitle':answer['items'][i]['volumeInfo'].get('subtitle'),
                'description':answer['items'][i]['volumeInfo'].get('description'),
                'count':answer['items'][i]['volumeInfo'].get('pageCount'),
                'catagories':answer['items'][i]['volumeInfo'].get('catagories'),
                'rating':answer['items'][i]['volumeInfo'].get('pageRating'),
                'thumbnail':answer['items'][i]['volumeInfo'].get('imageLinks').get('thumbnail'),
                'preview':answer['items'][i]['volumeInfo'].get('previewLink')
            }
            result_list.append(result_dict)
            context={
                'form':form,
                'result':result_list,
            }
        return render(request,'dashboard/books.html',context)            
    else:
        form = DashboardForm()
    context = {'form':form}
    return render(request,'dashboard/books.html',context)

forms.py:

class DashboardForm(forms.Form):
    text = forms.CharField(max_length=100,label='Enter your search : ')

books.html:

{% extends 'dashboard/base.html' %} 
{% load static %} 
{% block content %}

<section class='text-center container'>
    <h2>Search books and browse your favorite</h2>
    <p>just enter the search query to obtain the results</p><b></b>
    <form action="" method="post">
        {% csrf_token %}
        {{form}}
        <input class="btn btn-danger" type="submit" value="Submit">
    </form><br>

    <a href="#" target="_blank">
        <div class="card">
            <div class="card-header">
                <div class="row">
                    <div class="col-md-3">
                        <img class="img-fluid" src="" alt="">

                    </div>
                    <div class="col-md-9">
                        <h3 class="p-0 m-0">title</h3>
                        <b>
                            <u>
                                <h5 class="p-0 m-0">subtitle</h5>
                            </u>
                        </b>
                        <h6 class="p-0 m-1">description</h6>
                        <b> 
                            <h6 class="ml-0 mt-3">Category: name</h6>
                            <h6 class="ml-0 mt-1">Pages: 100</h6>
                            <h6 class="ml-0 mt-1">Rating: 4</h6>
                        </b>
                    </div>
                </div>
            </div>
        </div>
    </a>
    <br>
</section>

{% endblock content %}

на самом деле, когда я добавляю {{form}} в мой books.html, он должен сделать окно поиска, но он не делает, во-вторых, когда я использую {{form.as_p}} я вижу окно, но когда я ищу что-то, возникает ошибка:

>>>    ExceptionError: 'text'

Я должен сказать, что в forms.py этот класс DashboardForm(), это то, что он использует для поиска на youtube, поиска книг и словаря. Я не знаю, что на самом деле

Вернуться на верх