如何在 django 项目的 .js 文件中提及静态文件?

How to mention static files in .js file for a django project?

我在为 .js 文件

提及我的 django 项目中的一个文件时遇到问题

main.js 中的一行是

navigator.serviceWorker.register("{% static '/static/sw.js' %}")

但是 运行 它说的项目 Not Found: /sw.js

这是目录结构-

我应该如何在我的 main.js 文件中提及 sw.js 文件以避免 fileNotFound 错误?

添加到 settings.py -

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

urls.py 包括

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', index),
    path('/push_v1/', push_v1),
    path('/subscription/', subscription),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

完全错误 -

在Github上找到代码供参考Code Link

在您的 setting.py 文件中设置静态文件的位置

STATIC_URL = '/static/'

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

然后在您的模板中首先加载静态,然后设置脚本文件 n 模板本身。

{% load static %}

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