【问题标题】:Django - Passing ID into url template tag using JavascriptDjango - 使用 Javascript 将 ID 传递到 url 模板标签
【发布时间】:2018-09-04 03:13:53
【问题描述】:

如何使用 javascript 在 url 模板标签中插入 id?我试过这种方式,但我没有得到它。在 urls.py 中找不到路由。

function Edit(pk){
    window.location.assign("{% url 'authentication:edit_user' "+${pk}+" %}");
}
<!-- Other way -->
function Edit(pk){
    window.location.assign("{% url 'authentication:edit_user' "+pk+" %}");
}

错误是:

未找到带有参数“('+${pk}+',)' 的“edit_user”的反向操作。 1 尝试的模式: ['认证\/用户\/编辑\/(?P[0-9]+)\/$']

【问题讨论】:

    标签: javascript django


    【解决方案1】:

    这不可能。模板标签在服务器端评估,远在客户端 Javascript 可以运行之前。

    【讨论】:

      【解决方案2】:

      您不需要连接字符串。 url 标签带参数。因此,您可以将代码更改为

      window.location.assign("{% url 'authentication:edit_user' pk %}");
      

      参考 - url tag

      【讨论】:

      • 感谢您的回答。如果我不连接,则会出现此错误并且找不到路线。未找到带有参数 '('',)' 的 'edit_user' 的反向操作。尝试了 1 种模式:['authentication\\/user\\/edit\\/(?P[0-9]+)\\/$']
      • @DevPython,该错误表明pk 字段为空。您可能没有正确地将其传递给模板。
      猜你喜欢
      • 2021-02-15
      • 2021-06-05
      • 2017-08-11
      • 2019-07-31
      • 2020-04-24
      • 2015-02-02
      • 2011-03-04
      • 2014-05-13
      • 2021-09-10
      相关资源
      最近更新 更多