将Yahoo FiannceAPİ的python后端移动到django

问题描述 投票:0回答:1

[嗨,我擅长使用Python,但是我的Django技能是初学者。我在Tkinter中开发了一个GUI程序,但决定使用Django。

这是我的后端,GUI缩短了:

from tkinter import*
import numpy as np
import pandas as pd
from scipy.stats import norm
from pandas_datareader import data as wb
from yahoofinancials import YahooFinancials

用户在输入字段中插入代码,然后该变量有助于通过tickers = [self.entry_stock.get()]

获取股票代号

然后我使用下面的方法获取股票价格

yahoo_financials = YahooFinancials(tickers)

new_data = pd.DataFrame()


        for t in tickers :new_data[t] = wb.DataReader(t, data_source ='yahoo', start = '2004-1-1')['Adj Close']


        a = new_data[t]

在Django中,我很困惑如何将输入数据转换为索引符号:

<form class="ticker_area form-control-lg" method="POST">
    {% csrf_token %}

    <input class="ticker_button"   type="text" placeholder="Ticker" aria-label="Search">
    <button class="btn btn-outline-warning btn-rounded btn-sm my-1" type="submit">OK</form>

在后端symbol= ['AAPL']中,它允许以这种格式获取公司数据。在tkinter中,我使用了股票代号= [self.entry_stock.get()]来获取股票价值并进一步使用。

但是我不知道如何在Django中制作将报价单数据传递给这种格式的代码`tickers = [self.entry_stock.get()],以便我可以进一步使用它来获取股票价格

我使用了模板中的表格。我应该在哪里导入该库?:

from tkinter import*
import numpy as np
import pandas as pd
from scipy.stats import norm
from pandas_datareader import data as wb
from yahoofinancials import YahooFinancials

我输入了views.py,但似乎不起作用。

我很高兴能从您那里得到指导,以便能够从搜索区域中提取报价并获得一些我应该寻找的提示。任何帮助,将不胜感激。

python django yahoo-finance
1个回答
0
投票

我认为您仍在以更进一步的方式思考。您需要更改它并了解HTTP和MVT(模型视图和模板)。

有很多教程可以使您了解什么是MVT。

刚开始时,我建议您这样做。

首先是django是Web应用程序,其中tkinter是Desktop,您需要Web服务器来运行Django(例如Aapache或Nginx),>

您可以使用django呈现html页面,并且根据用户请求,您可以执行某些操作。

首先,您要这样做。

发出GET请求并开发一个HTML页面,该页面将像Tkinter一样为UI提供服务。

[在Django中开发一个视图,该视图将称为yahoo Financial API。检查此https://pypi.org/project/yahoo-finance/

您的请求应如下所示。

from yahoo_finance import Share
def get_yahoo_finance_data(request):
    yahoo = Share('YHOO') # like this there will many chose which one you need
    print yahoo.get_open()
    context['yahoo'] = yahoo
    return render('yaho_result.html', context)

这将为您提供基本思路。希望对您有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.