AttributeError: объект 'WSGIRequest' не имеет атрибута 'query_params'
Я пытаюсь вытащить данные с сайта на стороне бэкенда все будет работать: ссылка откуда я вытаскиваю все данные https://swapi.dev/api/people
count = {'count': 0, "next_page": 1, 'dates': [],}
starwars = [count, ]
# class StarView(APIView):
# def get(self, request):
# page = request.query_params.get('page', 1)
# if starwars[0]['next_page'] == int(page):
# url = f'https://swapi.dev/api/people/?page={page}'
# response = requests.get(url).json()
# starwars.append(response['results'])
# starwars[0]['count'] += 10
# starwars[0]['next_page'] += 1
# starwars[0]['dates'].append(datetime.today())
# with open('story.csv', 'w') as file:
# file.write(str(starwars[0]))
# for i in range(1, len(starwars)):
# for j in starwars[i]:
# file.write('\n')
# file.write(str(j))
# return Response(starwars, status=status.HTTP_200_OK)
# return Response({"error": "Enter valid page"})
Но как только я решил создать шаблон def index ..... для места этого кода, я получаю эту ошибку, как ее исправить (AttributeError: 'WSGIRequest' object has no attribute 'query_params')
def index(request):
if request.method == "GET":
page = request.query_params.get('page', 1)
if starwars[0]['next_page'] == int(page):
url = f'https://swapi.dev/api/people/?page={page}'
response = requests.get(url).json()
starwars.append(response['results'])
starwars[0]['count'] += 10
starwars[0]['next_page'] += 1
starwars[0]['dates'].append(datetime.today())
with open('story.csv', 'w') as file:
file.write(str(starwars[0]))
for i in range(1, len(starwars)):
for j in starwars[i]:
file.write('\n')
file.write(str(j))
return render(request,('index.html'))
return Response({"error": "Enter valid page"})
Что я вообще пытаюсь сделать? Мне нужно отправить запрос на просмотр данных. Отображаются 10 фиксированных данных. При нажатии на кнопку просмотра должны появиться еще данные, то есть всего их будет отображаться уже 20. Все это сохраняется в файле csv. Как реализовать кнопку просмотра большего количества данных? Вот мой единственный шаблон
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>People</title>
</head>
<body>
<form action="" method="GET">
{% csrf_token %}
</form>
</body>
</html>