简体   繁体   English

如何在Django模板中包含JavaScript?

[英]How to include JavaScript in a Django template?

In my Django project 'pizzeria', I have created a static files folder for the app 'pizzas', so the folder structure is: pizzeria/pizzas/static/pizzas/. 在我的Django项目“ pizzeria”中,我为应用程序“ pizzas”创建了一个静态文件文件夹,因此文件夹结构为:pizzeria / pizzas / static / pizzas /。 Inside this folder I have a JavaScript 'hack.js': 在此文件夹中,有一个JavaScript'hack.js':

//hack.js
<script>   
document.getElementById("home page").innerHTML="Hacked!"
</script>

Now I want to include this script in my Django template (pizzeria/pizzas/templates/pizzas/base.html), however the following setup does not work (the innerHTML does not change on button click): 现在,我想将此脚本包含在我的Django模板(pizzeria / pizzas / templates / pizzas / base.html)中,但是以下设置无效(innerHTML在单击按钮时不会更改):

{% load static %}

<p>
<a href="{% url 'pizzas:index' %}" id="home page">Home page</a>
<a href="{% url 'pizzas:pizzas' %}">Our pizzas</a>
<button onclick="{% static 'pizzas/hack.js' %}">Hack!</button>
</p>

{% block content %} {% endblock content %}

What am I doing wrong? 我究竟做错了什么?

You should remove the script tag from your js file and include it with 您应该从js文件中删除脚本标签,并将其包含在

  <script src="{% static 'pizzas/hack.js' %}"></script> 

With a hack.js file like 像这样的hack.js文件

function onClick() {
   document.getElementById("home_page").innerHTML="Hacked!"
}

Tag ids shouldn't contain spaces, doc 标记ID不得包含空格, doc
Your button should be 您的按钮应该是

<button onclick="onClick">Hack!</button>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM