Как добавить Yahoo Finance API с помощью flask или django

Мой вопрос в том, что мы видим в app.py как (default="AMZN") мне нужно получить пользовательский ввод (или) пользователь может нажать на название компании, чтобы увидеть больше информации и продолжить дальше для каждой компании.

Я пытаюсь изучить flask и создал небольшое приложение, которое содержит список компаний с некоторой общей информацией о каждой из них. На главной странице отображается список всех компаний, а затем пользователь может нажать на название компании, чтобы увидеть более подробную информацию. Сейчас я пытаюсь понять, как API используются во flask, используя Yahoo Finance для получения некоторых данных о компании и отображения их на странице.

Возможен вариант работы на основе flask или django. Также мне нужно руководство с нуля. Я начинающий.

import yfinance as yahooFinance
 
# Here We are getting Facebook financial information
# We need to pass FB as argument for that
GetInformation = yahooFinance.Ticker(input("enter iput here: " ))
#GetInformation = yahooFinance.Ticker("FB")
 
# whole python dictionary is printed here
print(GetInformation.info)

Мой код app.py

from flask import Flask, redirect, url_for, render_template, request
import yfinance as yf

app = Flask(__name__)


@app.route('/')
def hello():
    return 'Hello, World!'


@app.route("/login", methods=["POST", "GET"])
def login():
    if request.method == "POST":
        user = request.form["nm"]
        return redirect(url_for("user", usr=user))
    else:
        return render_template("login.html")

@app.route("/<usr>")
def user(usr):
    return f"<h1>{usr}</h1>"

@app.route('/info', methods = ['POST', 'GET'])
def display_quote():
   symbol = request.args.get('symbol', default="AMZN")

   quote = yf.Ticker(symbol)
 
   return quote.info

@app.route("/history")
def display_history():

    symbol = request.args.get('symbol', default="AMZN")
    period = request.args.get('period', default="1y")
    interval = request.args.get('interval', default="1mo")        
    quote = yf.Ticker(symbol)   
    hist = quote.history(period=period, interval=interval)
    data = hist.to_json()
    return data



if __name__ == "__main__":
    app.run(debug=True)

templates/login.html

{% block title %}Login Page{% endblock %}

{% block content %}
<form action="http://127.0.0.1:5000/login" method="post">
    <p>Name:</p>
    <p><input type="text" name="nm" /></p>
    <p><input type="submit" value="submit"/></p>
</form>
{% endblock %}
Вернуться на верх