首页 > 解决方案 > 姜戈 | 动态 URL 中的 JS 变量

问题描述

我正在尝试使用 Django 在动态 url 中传递一个 javascript 变量。我有以下路径

path('task-update/<str:pk>/', updateTask, name='task-update'),

我可以根据我在 HTML 中选择的任务(使用 AJAX 和 Django-REST 框架完成)来检索我创建的“任务”字段(id、标题、描述……)。但是,我在动态 url 中呈现 javascript 值时遇到了一些麻烦

var url = `{% url 'task-update' pk=${activeItem.id} %}`

${activeItem.id}是我遇到问题的地方,我尝试将它分配给一个变量并将其传递给 URL,但它不起作用。

我一直在使用的解决方法是

var url = `http://127.0.0.1:8000/task-update/${activeItem.id}/`

但是我想使用 django 的模板标签

标签: javascriptdjangodjango-rest-frameworkdjango-urls

解决方案


我发现了一个在大多数情况下可能有效的技巧:

var url = "{% url 'task-update' pk=12345 %}".replace(/12345/, ${activeItem.id});

它很干净,并且不违反 DRY 原则。


推荐阅读