在 Django url 模板标签中获取 javascript 变量的值

新手上路,请多包涵

众所周知,有一种通过使用 django 模板标签“url”定向到 URL 的 DRY 方法,比如

{% url "someview" arg1=X %}

在这里,我希望“X”成为 javascript 变量的值,比如 tmp 。但以下不起作用

<script>
    ...{% url "someview" arg1=tmp %}...
</script>

我应该如何获取模板标签内的值?

原文由 Mike Lee 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 660
2 个回答

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

 var url_mask = "{% url 'someview' arg1=12345 %}".replace(/12345/, tmp.toString());

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

原文由 Mike Lee 发布,翻译遵循 CC BY-SA 3.0 许可协议

只是说清楚,以便下一个读者可以有一个全面的解决方案。关于这个问题,这就是我如何将 Mike Lee 解决方案用于一个示例案例,该案例使用 Javascript 重定向到一个新页面,该页面的参数位于名为 tmp 的变量中:

 window.location = "{% url 'your_view_name' 1234 %}".replace(/1234/, tmp.toString());

原文由 Olfredos6 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题