ハイチャートをPythonスクリプトからDjangoに転送する方法を学びたいと思っています。私はそこに行くためにthis solution threadを使用してきました(しかし、これまで無駄でした)。PythonのスクリプトオブジェクトをDjangoのviews.pyに渡す
script.pyという名前のPythonスクリプトがあり、chart_dataというオブジェクトが返されています。 Djangoでは、views.pyのscript.pyファイルを実行するには、chart_dataオブジェクトを取得し、それを 'data'という新しいオブジェクトに割り当てます。
私のscript.pyファイルは、自分のプロジェクトルートディレクトリの/ scripts /というディレクトリに保存されており、独自の__init__.pyファイルを含んでいます。
以下のコードでは、グローバル名 'chart_data'が定義されていないというエラーがサーバーから返されます。
私がここで間違っていることについての説明は非常に高く評価されます。
### views.py
from __future__ import unicode_literals
import datetime
import subprocess
import scripts
def plot(request, chartID = 'chart_ID', chart_type = 'line', chart_height = 500):
raw = subprocess.Popen('~/scripts/script.py', shell=True)
data = chart_data
chart = {"renderTo": chartID, "type": chart_type, "height": chart_height,}
title = {"text": 'my title here'}
xAxis = {"title": {"text": 'xAxis name here'}, "categories": data['Freq_MHz']}
yAxis = {"title": {"text": 'yAxis name here'}}
series = [
{"name": 'series name here', "data": data['series name here']},
]
return render(request, '/chart.html', {'chartID': chartID, 'chart': chart,
'series': series, 'title': title,
'xAxis': xAxis, 'yAxis': yAxis})