外部js在django中不起作用

时间:2017-05-29 07:57:42

标签: javascript django

我正在尝试加载外部js文件 静态文件夹的设置

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

这里我在模板中包含了js

{% load static %}
<link rel="stylesheet" href="{% static '/css/main.css' %}">
<link type="text/javascript" href="{% static '/js/main.js' %}">

我的项目结构

-project
---app
---static
-----css
-------main.css
-----js
-------main.js

我不知道为什么,但是css工作并没有加载js(我没有在浏览器开发工具中看到main.js)

1 个答案:

答案 0 :(得分:0)

使用js的脚本标记。

<script type="text/javascript" src="{% static '/js/main.js' %}"></script>

设置STATIC_ROOT和STATICFILES_DIRS有所不同。 STATIC_ROOT是编译静态文件的位置。

您应该将STATICFILES_DIRS设置为

(
    os.path.join(BASE_DIR, 'static'),
)

和STATIC_ROOT到你想要编译静态文件的其他位置,例如STATIC_ROOT = os.path.join(BASE_DIR, 'dist')

参考:https://docs.djangoproject.com/en/1.11/howto/static-files/