2017-01-28 9 views
0

私のdjango-viewでは、私はパンダを使ってピボットテーブルを作成します。このピボットテーブルはコンテキストを介してテンプレートに渡されます。これはうまく動作します。列のヘッダーを新しいビューをトリガーするリンクにしたい。だから私はこれを行うためのシンプルなjQueryスクリプトを書いた。django urlテンプレートタグをjQueryを使ってpandas htmlテーブルに追加

Reverse for 'cat_view' with arguments '()' and keyword arguments '{'cat': "' + $(this).html() +'"}' not found. 1 pattern(s) tried: ['category/(?P[\w-]+)/$']

私のURLエントリは次のようになります:

しかし、私は次のエラーを取得する

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

...とすぐに私はURLテンプレートタグでkwargを渡したいとの問題に実行します

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

構文に間違いがありますか、それとも私のアプローチでは一般的な問題ですか? jQueryがdjangoに渡すべきものではなくjQueryスクリプトで書いたものをdjangoが解釈するというエラーメッセージが表示されますが、これを避ける方法はわかりません。

答えて

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>'); 
    }); 
}); 
+0

ありがとう...魅力的なように働いています。 –

関連する問題