【问题标题】:static js doesn't load -- Django静态 js 不加载——Django
【发布时间】:2016-09-29 15:15:45
【问题描述】:

据我所知,我已按照所有步骤正确加载我的静态文件。我能够在 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 文件。我做错了什么?

【问题讨论】:

  • &lt;script src="{% static "js/p5" %}"&gt;&lt;/script&gt;&lt;script src="{% static "js/p5.js" %}"&gt;&lt;/script&gt; ?

标签: django django-templates


【解决方案1】:

这可能和你的last question有关

该 javascript 文件仅包含在 default 块中。由于您要覆盖它,因此不包括在内。因此,将块范围移动到 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 %}

【讨论】:

  • 再次感谢,我看到了我的问题。当我尝试从 base.html 继承并扩展 js 时,我得到“ TemplateSyntaxError at /grow/ Invalid block tag: 'static', expected 'endblock'” 我不应该把我的
  • @DavidJ。 - 你需要在你继承的模板中load staticfiles。虽然这是一个单独的问题。
猜你喜欢
  • 2012-09-03
  • 2017-04-08
  • 2018-02-03
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
  • 1970-01-01
  • 1970-01-01
  • 2012-04-30
相关资源
最近更新 更多