Как вернуть пользовательский ввод с помощью api в представлениях Django? Я постоянно получаю ошибку 'WSGIRequest' object has no attribute 'request'
Вот мой код для views.py. Я хочу, чтобы пользовательский ввод заменял значение ключа 'q' в дикте querstring.
def index(requests):
return render(requests, 'index.html')
def news(requests):
if requests.method == 'POST':
search = 'POST'
url = "https://google-finance4.p.rapidapi.com/search/"
querystring[0] = search
querystring = {"q":"*airbnb*","hl":"en","gl":"US"}
headers = {
"X-RapidAPI-Key": "my api key",
"X-RapidAPI-Host": "google-finance4.p.rapidapi.com"
}
response = requests.request("GET", url, headers=headers, params=querystring)
print(response.text)
return render(requests, 'news.html')
else:
return HttpResponse('Error')
someapp/urls.py
urlpatterns = [
path('', views.index, name ='home'),
path('news/', views.news, name="news")
]
mysite/urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('search.urls')),
path('news/', include('search.urls'))
]
templates/index.html
<form>
class="form-inline"
method="POST"
action="{{ 'news/' }}"
name="news"
>
<div class="input-group mb-3">
{%csrf_token%}
<input
type="text"
class="form-control"
placeholder="Enter Crypto"
name="search"
style="width: 50%; display: block; margin: 0 auto"
/>
<button
class="btn btn-outline-primary btn-md"
type="submit"
id="button-addon2"
>
Search
</button>
templates/news.html
<!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>Crypto Talk</title>
</head>
<body>
<h1>{{news.views}}</h1>
</body>
</html>
Я неправильно форматирую синтаксис в элементе h1, будет ли это вообще указывать Django поместить искомый ответ в этот тег h1?
Я не совсем понял вопрос, возможно, вы имели в виду другое. Попробуйте:
search = requests.POST["search"] # имя входа