【问题标题】:Reverse for 'ratio' with arguments '('',)' and keyword arguments '{}' not found未找到带有参数“(”,)”和关键字参数“{}”的“比率”的反向
【发布时间】:2019-11-06 11:09:16
【问题描述】:

尝试渲染时遇到异常:

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

【问题讨论】:

    标签: python jquery json django pandas


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2010-12-22
      • 2013-12-07
      • 2015-08-29
      • 2014-05-29
      • 2013-07-25
      • 2012-07-08
      • 2019-04-21
      • 2016-06-15
      相关资源
      最近更新 更多