【发布时间】:2020-05-12 14:39:12
【问题描述】:
我对 python 和 Django 比较陌生,但对 Javascript/jQuery 有更多的经验。我现在正在使用 Django,并希望在我的 base.html 模板中包含 javascript。我已经包含了指向 jQuery cdn 的链接。头部看起来像这样:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Interceptie kennisbank</title>
<link rel="stylesheet" href={% static "css/reset.css" %}>
<link rel="stylesheet" href={% static "css/style.css" %}>
<!-- link to jQuery: -->
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous">
</script>
<!-- javascript event handlers: -->
<script type="text/javascript" href={% static "js/events.js" %}></script>
</head>
在 Chrome 中转到页面源时,我可以单击指向 /static/js/events.js 的链接,然后将显示该文件的源。
这证明javascript被正确包含了,不是吗?但是加载事件永远不会被触发,控制台也不会记录任何内容。我尝试将指向 js 文件的链接放在正文底部,但也没有用。
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Interceptie kennisbank</title>
<link rel="stylesheet" href={% static "css/reset.css" %}>
<link rel="stylesheet" href={% static "css/style.css" %}>
<!-- link to jQuery: -->
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous">
</script>
<script>
jQuery( window ).on( 'load', function(){
console.log('3. Javascript geladen');
});
</script>
<!-- javascript event handlers: -->
<script type="text/javascript" href={% static "js/events.js" %}></script>
</head>
当我将脚本本身添加到 base.html 时,它确实有效。当我将它放在标题中时它会起作用,当我将它放入正文时它会起作用。
当然,我更喜欢将我的 javascript 放在一个单独的文件中。有人能解释一下这个问题吗?
【问题讨论】:
标签: javascript python jquery django django-templates