Django 为啥我的静态 JS 文件没有加载

Posted

技术标签:

【中文标题】Django 为啥我的静态 JS 文件没有加载【英文标题】:Django why my static JS files not loadingDjango 为什么我的静态 JS 文件没有加载 【发布时间】:2020-09-11 08:21:20 【问题描述】:

我正在处理一个 django 项目,总的来说,我对 Django 和 Python 还是很陌生。我创建了我的 base.html 如下:

% load adminlte_helpers i18n %
% load static %<!DOCTYPE html>
<html>
<head>

    % block stylesheets %
        % include 'adminlte/lib/_styles.html' %
    % endblock %


% block body %
   ....
% endblock body %

% block javascript %
% include 'adminlte/lib/_scripts.html' %
% endblock %

% block extra_js %
% endblock %

</body>
</html>

之后,我创建了我的 _scripts.html 文件,如下所示:

% load static %
% block scripts %
<script src="% static 'admin-lte/plugins/jquery/jquery.min.js' %"></script>
<script src="% static 'admin-lte/plugins/jquery-ui/jquery-ui.min.js' %"></script>
<script src="% static 'admin-lte/plugins/chart.js/Chart.min.js' %"></script>
<script src="% static 'admin-lte/plugins/bootstrap/js/bootstrap.bundle.min.js' % "></script>

% block datatable_js %% endblock %

% endblock %

现在我想在一个名为 example.html 的新 html 文件中添加一个使用charts.js 创建的图表。现在我已经创建了它并添加到了 example.html 中。但是如果我尝试在我的静态文件夹中创建一个新的 js 文件(名为 graph.js)不起作用。 我必须在代码的哪一部分插入&lt;script src="% static "grafici/graph.js" %"&gt;&lt;/script&gt; 才能正确加载它?

这是我的设置:

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

【问题讨论】:

没人能帮我吗? 确保你的/static/ 目录中有这个grafici 文件夹。如果您想使用collectstatic,也可以将此STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') 行添加到您的settings.py 【参考方案1】:

尝试运行这个 CMD """ python manage.py collectstatic """

【讨论】:

OKey @Zouhair Jabiri 谢谢,但我必须在代码的哪一部分添加我的&lt;script src="% static "grafici/graph.js" %"&gt;&lt;/script&gt;

以上是关于Django 为啥我的静态 JS 文件没有加载的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Django 管理站点没有样式/CSS 加载?

Django 静态文件未加载且没有错误迹象

为啥我的 Fastcomet Django 网站没有加载 css?

为啥我的静态文件在部署到 Heroku 服务器时没有提供? (姜戈)

Django在开发中直接从静态文件夹加载静态(不是来自应用程序)

我的 Django 网站正在加载我的静态 (CSS) 文件,但它们没有显示出来。我错过了啥或做错了啥?