未找到带有参数“(”,)”和关键字参数“”的“比率”的反向

Posted

技术标签:

【中文标题】未找到带有参数“(”,)”和关键字参数“”的“比率”的反向【英文标题】: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 创建数据图。)

【问题讨论】:

【参考方案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')
    ...

【讨论】:

以上是关于未找到带有参数“(”,)”和关键字参数“”的“比率”的反向的主要内容,如果未能解决你的问题,请参考以下文章

“未找到带有参数 '()' 和关键字参数 '' 的 '' 的反向操作。”

未找到带有参数“()”和关键字参数“”的“登录”的反向操作

未找到带有参数“()”和关键字参数“”的“password_change_done”的反向

未找到带有参数“()”和关键字参数“”的“send_referral_code”的反向

未找到带有参数“()”和关键字参数“”的“guestbook.posts”的反向操作。尝试了 0 种模式:[]

未找到带有参数“()”和关键字参数“'pk':6”的“post_edit”的反向。尝试了 0 种模式:[]