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)不起作用。
我必须在代码的哪一部分插入<script src="% static "grafici/graph.js" %"></script>
才能正确加载它?
这是我的设置:
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 谢谢,但我必须在代码的哪一部分添加我的<script src="% static "grafici/graph.js" %"></script>
以上是关于Django 为啥我的静态 JS 文件没有加载的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Fastcomet Django 网站没有加载 css?
为啥我的静态文件在部署到 Heroku 服务器时没有提供? (姜戈)