静态js无法加载 - Django

时间:2016-05-31 14:33:43

标签: django django-templates

据我所知,我已按照所有步骤正确加载静态文件。我可以在the instructions here之后的模板中加载jpg:

但是,我的静态文件夹中的Javascript文件未加载。

这是我的base.html:

<!DOCTYPE html>
{% load staticfiles %} 
<html>
  <head>
    {% block js %}
    <script src="{% static "js/p5" %}"></script>
    {% endblock %}
    <title>Rango</title>
  </head>
  <body>
    {% block content %}
    {% endblock %}
  </body>
</html>
在settings.py中的

我有:

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

STATIC_URL = '/static/'

STATICFILES_DIRS = [STATIC_DIR, ] 

我确实p5.js位于/static/js/p5.js,而django.contrib.staticfiles位于我已安装的应用中。当我访问从base.html继承的任何站点时,firebug显示没有加载任何JS文件。我做错了什么?

1 个答案:

答案 0 :(得分:1)

这可能与您的last question

有关

该javascript文件仅包含在默认块中。因为你要覆盖它,所以不包括在内。因此,将块范围移动到javascripts下面以包含额外的js

{% block js %}
<script src="{{ STATIC_URL }}js/jquery.1.12.4.min.js"></script>
<script src="{{ STATIC_URL }}js/p5.js"
{% endblock %}

应该是

<script src="{% static 'js/jquery.1.12.4.min.js' %}"></script>
<script src="{% static 'js/p5.js' %}"></script>
{% block js %}{% endblock %}