Javascript django url中的NoReverseMatch js变量

Javascript django url中的NoReverseMatch js变量,javascript,django,templates,url,d3.js,Javascript,Django,Templates,Url,D3.js,我试图在django{%url%}中传递js变量,但没有成功。 我构建了一个D3条形图,我想将每个条形图链接到一个不同的页面,由django呈现。页面运行良好,当我推送静态数据(所有条到同一页面)时,它运行良好。我应该如何添加js变量 谢谢 您不能:{%url%}标记的结果在服务器端编译,而javascript在客户端运行 您可以使用AJAX端点来提供{%url%}标记的功能。创建一个运行reverse()并在JSON响应中返回结果的视图。然后可以将参数传递给它,并使用Javascript对结果

我试图在django{%url%}中传递js变量,但没有成功。 我构建了一个D3条形图,我想将每个条形图链接到一个不同的页面,由django呈现。页面运行良好,当我推送静态数据(所有条到同一页面)时,它运行良好。我应该如何添加js变量


谢谢

您不能:
{%url%}
标记的结果在服务器端编译,而javascript在客户端运行

您可以使用AJAX端点来提供
{%url%}
标记的功能。创建一个运行
reverse()
并在JSON响应中返回结果的视图。然后可以将参数传递给它,并使用Javascript对结果进行处理。一个非常简单的例子:

url.py

url(r'^posts/(?P<pk>\d+)$', 'app.views.post', name='post_view'),
url(r'^url$', 'app.views.url_endpoint_view', name='url_endpoint')
模板:

<a href="#" id="post_link">Dynamic link to a post</a>

我也有同样的问题,我发现replace可以解决这个问题。下面是我的示例代码:

consthtml=matches.map(match=>
``.replace(/9999/,match.pk)).join(“”);
我总结了代码,以防止洪水,但你可以猜这部分做什么。它首先为每个匹配项放入/case/9999,然后用主键中的id替换9999,因此它被转换为/case/1、/case/3等


如果你有可能将9999作为id,你当然可以将其更改为你想要的任何内容。

你看到了吗?我正试图做相反的事情:在django模板url标记{%url'some_page'js_variable%}中放置一个js变量值,然后应该会有所帮助。谢谢,但我正在尝试将其传递到{%url'some_page'js_variable%}谢谢!承认这一点相当令人失望。我通过使用JS if语句列表解决了这个问题。
<a href="#" id="post_link">Dynamic link to a post</a>
$.get('/url?name=post_view&pk=5', function(data) {
    $('#dynamic_link').attr('href', data.url)
});