【发布时间】:2021-12-16 23:12:47
【问题描述】:
我不明白为什么我的 javascript 文件没有应用于我的模板。这是我的 base.html:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Project</title>
<link rel="stylesheet" type="text/css" href="{% static 'css/styles.css' %}" />
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
<link rel="stylesheet" type="text/css" href="{% static 'assets/css/main.css' %}">
</head>
<body>
<div>
{% include "navbar.html" %}
{% block content %}
{% endblock content %}
</div>
{% include "scripts.html" %}
</body>
</html>
这是我的scripts.html:
{% load static %}
<script src="{% static 'js/main.js' %}"></script>
<script src="{% static 'assets/js/jquery.min.js' %}"></script>
<script src="{% static 'assets/js/jquery.dropotron.min.js' %}"></script>
<script src="{% static 'assets/js/browser.min.js' %}"></script>
<script src="{% static 'assets/js/breakpoints.min.js' %}"></script>
<script src="{% static 'assets/js/util.js' %}"></script>
<script src="{% static 'assets/js/main.js' %}"></script>
但是,它们似乎不会影响模板。例如,如果我运行服务器,下拉菜单的格式会很奇怪。发生的另一件奇怪的事情是Main.js 一直打印在控制台上。我相信这最初是因为 main.js 文件有:
console.log("Main.js");
但是,即使我将其更改为以下内容:
console.log("Something new for the console");
我仍然在控制台上打印出Main.js。此外,如果我将console.log("something") 放在上面引用的其他javascript 文件中,它们不会在控制台上打印出来。我不知道为什么会这样。谢谢,有任何问题欢迎提问。
【问题讨论】:
-
你是否在setting.py文件中添加了静态根目录
-
是的,我有。我有代码
STATIC_ROOT = "static_root" -
STATIC_ROOT=os.path.join(BASE_DIR,'assests')你是否将此行添加到 static_root 基本上这将提供将静态文件存储在所需位置的路径 -
我真的推荐@bichanna 的回答。我刚遇到和你一样的问题,而且解决了。
-
@VishalPandey 我试过了,但我的下拉菜单不起作用。不过,console.log 现在可以正常打印了。
标签: javascript python django django-models django-templates