Как я могу принять ввод пользователя, проверить его, используя значения в словаре, а затем добавить соответствующее значение в строку запроса в API?
Я создаю веб-приложение, которое принимает данные от пользователя и затем возвращает результат, используя Google Finance API. Моя проблема в том, что я не знаю, как написать это в моем файле views.py, чтобы при вводе пользователем валюты.
someapp/coins.py
coins = [
{"Ethereum": "ETH-USD"},
{"Bitcoin": "BIT-USD"},
{"Litcoin": "LIT-USD"},
{"Solona": "SOL-USD"},
{"Binance": "BNB-USD"},
{"Ripple": "XRP-USD"},
{"XRP": "XRP-USD"},
{"Cardano": "ADA-USD"},
{"Dogeoin": "DOGE-USD"},
{"Chainlink": "LINK-USD"}
]
Это файл, который содержит тикеры, необходимые для получения результатов из google finance api. Поэтому я пытаюсь проверить ввод пользователя с одним из ключей в этом списке и затем добавить значение, которое является тикером, необходимым для поиска api, в строку запроса, используемую в GET запросе.
someapp/views.py
from django.shortcuts import render
import requests
from django.views import generic
from django.views.generic import TemplateView
from django.http import HttpResponse
from coins import coins
# Create your views here.
def index(request):
return render(request, 'index.html')
def news(request):
if request.method == 'POST':
crypto = 'POST'
if crypto == coins[0:]:
querystring.append() # not sure if this is the right thing to do
else:
pass
url = "https://google-finance4.p.rapidapi.com/ticker/"
**querystring = {"t":"ETH-USD","hl":"en","gl":"US"}**
headers = {
"X-RapidAPI-Key": "31c5541e87msh0684494d7f7396fp117984jsn574856ff6d0c",
"X-RapidAPI-Host": "google-finance4.p.rapidapi.com"
}
response = requests.request("GET", url, headers=headers, params=querystring)
response.status_code
response.text
response.json()
articles = response.json()['news']
return render(request, 'news.html', {
"article": articles })
Мне нужно получить входные данные пользователя, найти нужный ключ, а затем значение ключа и ключ 't' в строке запроса...
querystring = {"t":"**value in key needs to go here**","hl":"en","gl":"US"}