使用jQuery将django url模板标签添加到pandas html表中

时间:2017-01-28 07:44:59

标签: jquery django pandas

在我的django-view中,我使用pandas创建一个数据透视表,然后通过上下文将其传递给模板。这很好用。我希望列的标题是触发新视图的链接。所以我写了一个简单的jQuery脚本来做到这一点。但是一旦我想用url模板标签传递一个kwarg,我就会遇到问题。

  $(document).ready(function(){
    $('thead th').each(function(){
      $(this).html('<a href="{% url "cat_view" cat="' + $(this).html() +'" %}">'+ $(this).html() +'</a>');
    });
  });

我收到以下错误:

  

反向&#39; cat_view&#39;参数&#39;()&#39;和关键字参数   &#39; {&#39; cat&#39;:&#34;&#39; + $(this).html()+&#39;&#34;}&#39;未找到。尝试过1种模式:   [&#39;类别/ - / $&#39(P [\ W] +);]

我的网址条目如下所示:

    url(r'category/(?P<cat>[\w-]+)/$', categoryView, name='cat_view'),

我是否在语法上出错或者这是我的方法的一般问题?错误消息表明,django解释了我在jQuery脚本中编写的内容,而不是jQuery应该传递给django的内容..但我不知道如何避免这种情况..

1 个答案:

答案 0 :(得分:1)

是的,问题是Django在解释JQuery代码之前呈现URL。我会改用GET参数:

$(document).ready(function(){
    $('thead th').each(function(){
      var html = $(this).html();
      var url = "{% url "cat_view" %}?cat=" + html;
      $(this).html('<a href="' + url + '">'+ html +'</a>');
    });
});