找不到参数“(”,)”和关键字参数“ {}”的“比率”

时间:2019-06-24 15:46:20

标签: python jquery json django pandas

尝试渲染时遇到异常:

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创建数据图。)

1 个答案:

答案 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')
    ...