JavaScript 片段在 Django 模板中不起作用

Posted

技术标签:

【中文标题】JavaScript 片段在 Django 模板中不起作用【英文标题】:JavaScript snippet not working in Django template 【发布时间】:2020-01-15 12:07:07 【问题描述】:

自从我做 Django 以来已经有一段时间了,我找到了一个从我需要的按钮调用视图的示例:

How do I call a Django function on button click?

我构建了模板以匹配给定的示例:

<html>
  <head>
    <title>Tournament Registration</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
      function register() 
        alert("Hi")
      
    </script>

  </head>

  <body>
    <p> tournament.name </p>
    <p>Start time:  tournament.start_time </p>

    <button onclick="register">Register</button>

  </body>

</html>

起初我只是想让它弹出一个警告框,这样我就知道它完全可以工作。但是,当我单击该按钮时,什么也没有发生,并且我在控制台中没有收到任何错误消息。我可以在 Django 模板中调用脚本标签,还是我在这里做错了什么?

【问题讨论】:

onclick="register()" 【参考方案1】:

您已经使用 Django 编程很长时间了,以至于您忘记了 javascript 仍然需要模板中的讨厌的括号。 :) 不用担心,我也这样做。

&lt;button onclick="register"&gt;Register&lt;/button&gt; 应该是

&lt;button onclick="register()"&gt;Register&lt;/button&gt; 并且您的代码可以正常工作。 `

【讨论】:

以上是关于JavaScript 片段在 Django 模板中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 中显式重置模板片段缓存?

Django模板过滤器 - 一行

如何在扩展另一个文件的 django 模板中使用带有动态内容的 html 块片段?

javascript中的Django模板值

是否可以在 django 模板中的 javascript 中使用 tempatetags?

如何在javascript中获取django模板的variable的值?