Javascript 如何在django项目的.js文件中提到静态文件?
我在django项目中提到了Javascript 如何在django项目的.js文件中提到静态文件?,javascript,python,django,static,web-frontend,Javascript,Python,Django,Static,Web Frontend,我在django项目中提到了.js文件中的一个文件,因此我面临一个问题 main.js中的一行是 navigator.serviceWorker.register("{% static '/static/sw.js' %}") 但是在运行项目时,它会说找不到:/sw.js 这是目录结构- 我应该如何在我的main.js文件中提到sw.js文件以避免fileNotFound错误 添加到settings.py- STATICFILES_DIRS = [ os.path.join(BASE
.js
文件中的一个文件,因此我面临一个问题
main.js中的一行是
navigator.serviceWorker.register("{% static '/static/sw.js' %}")
但是在运行项目时,它会说找不到:/sw.js
这是目录结构-
我应该如何在我的main.js
文件中提到sw.js
文件以避免fileNotFound错误
添加到settings.py
-
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/static/',
]
url.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上查找代码以供参考在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>
{%load static%}
你试过了吗,{%static'fbpush/static/sw.js%}
我刚试过,没用!另外,我在第一行的sw.js
和main.js
中都包含了{%load static%}
。我还需要添加其他内容吗?{%load static%}
应该添加到HTML文件中,而不是js文件try{%static'sw.js%}
或{%static'/sw.js%}
@ArakkalAbu我已经尝试过了,它不起作用!相同的错误:(感谢您的回复!我尝试了这个方法,但似乎不起作用。作为参考,我在github上添加了代码:从STATICDIR_文件中去掉逗号后的额外静态,在模板脚本标记中,您可以直接执行此操作{%static'sw.js'%}在你的srcI中,我做了建议的更改。似乎我仍然缺少一些东西。我已将更改提交到存储库。如果你能看一下,这将是一个很大的帮助(特别是index.html
标题部分和main.js
的第128行)加载的是非静态文件还是仅js文件?如果是这种情况,请尝试运行此命令python manage.py collectstatic,因为代码看起来不错。