下面的代碼工作在Python殼細,顯示進料對象的內容:導入蟒模塊在Django:__init__.py類未加載
from pyalgotrade import strategy
from pyalgotrade.barfeed import yahoofeed
class MyStrategy(strategy.BacktestingStrategy):
def __init__(self, feed, instrument):
strategy.BacktestingStrategy.__init__(self, feed)
self.__instrument = instrument
def onBars(self, bars):
bar = bars[self.__instrument]
self.info(bar.getClose())
feed = yahoofeed.Feed()
feed.addBarsFromCSV("orcl","data/bistampTicker.csv")
myStrategy = MyStrategy(feed, "orcl")
myStrategy.run()
然而,它在一個Django視圖執行導致以下錯誤:
'function' object has no attribute 'BacktestingStrategy'
凡BacktestingStrategy是在Python模塊的策略文件夾中的__ init__.py文件中定義的類,Python路徑中。
我對這個問題的理解是,django沒有讀取__init__.py文件,因此沒有正確導入模塊(一個pyalgotrade模塊)。
有沒有辦法讓Django這麼做?
在此先感謝您,並且對於無關緊要的問題感到抱歉。
乾杯
我搜索了幾個小時,在提交帖子後找到了解決方案的幾分鐘,修改了庫,以便在strategy.py中定義策略類,而不是策略/__init__.py。不是非常優雅,但做的工作。 – Bertrand 2014-08-27 18:20:54