有人可以告诉我在从python脚本调用一些数据到Django视图时我做错了什么。目前我在标题中收到错误。我的相关代码如下:
#views.py
def highcharts(request, chartID = 'chart_ID', chart_type = 'line', chart_height = 500):
data = ChartData.check_heater_data()
#rest of the code ...
和python脚本:
from .models import Heater
class ChartData(object):
def check_heater_data(self):
data = {'id': [], 'temperature_max': [],
'temperature_min': []}
valves = Heater.objects.all()
for unit in valves:
data['id'].append(unit.id)
data['temperature_max'].append(unit.temperature_max)
data['temperature_min'].append(unit.temperature_min)
return data
基本上我在这里想要实现的是从MySQL获取数据并将其附加到字典中。之后我想在highcharts中使用这个字典来显示我的数据。
答案 0 :(得分:2)
您需要实例化 ChartData
才能使用其方法:
def highcharts(...):
instance = ChartData() # creates an instance
data = instance.check_heater_data() # now you can call this
或者,您可以将check_heater_data()
声明为类方法(可以在不创建实例的情况下访问的方法),然后您可以在不实例化的情况下调用check_heater_data()
。
class ChartData(object):
@classmethod
def check_heater_data(self):
...
可让您ChartData.check_heater_data()
毫无问题。
如果您想要最小更改并且不想要创建对象实例的开销,请转到第二种方法。