尝试渲染时遇到异常:
django.urls.exceptions.NoReverseMatch: Reverse for 'ratio' with arguments '('',)' not found. 1 pattern(s) tried: ['dashboards/ratio']
这是views.py:
def ratio(request, ticker1, ticker2):
tickers_values = TSDB.objects.filter(TICKER__in = [ticker1, ticker2]).values("DATE", "TICKER", "CLOSE")
tickers_list = []
for ticker in tickers_values:
tickers_list.append([ticker['DATE'], ticker['TICKER'], ticker['CLOSE']])
df = pd.DataFrame(tickers_list, columns = ['DATE', 'TICKER', 'CLOSE'])
df = df.pivot_table(values = 'CLOSE', index = 'DATE', columns = 'TICKER')
print(df)
json_list = []
df['RATIO'] = df[ticker1]/df[ticker2]
for i in df[['RATIO']].itertuples():
json_list.append([totimestamp(i[0])*1000, i[1]])
return JsonResponse(json_list, safe = False)
我丝毫不知道此错误的来源。我将假设这就是我在$.getJSON()
中传递的内容。 (我是django的新手,我正在尝试使用Highcharts创建数据图。)
答案 0 :(得分:0)
JS:
var tkr_data = { ticker1: "ticker1", ticker2: "ticker2" };
qs = $.param(tkr_data);
$.getJSON("{% url 'dashboards:api_tkr_ratio'}" + "?" + qs,
...
urls.py
path('api/tkr_ratio', views.api_tkr_ratio, name = 'api_tkr_ratio'),
views.py
:
def api_tkr_ratio(request):
ticker1 = request.GET.get('ticker1', 'N/A')
ticker2 = request.GET.get('ticker2', 'N/A')
...