我正在尝试在 django 中实现代码。我的代码正常工作。但是,当我尝试在 django 中使用时。似乎javascript无法正常工作。为什么它在 django 中不起作用?如何运行使用 javascript 的 html 页面?
* html 页面位于我的模板文件夹中,在此文件夹中,我还有一个类似scripts/
.
我正在尝试在 django 中实现代码。我的代码正常工作。但是,当我尝试在 django 中使用时。似乎javascript无法正常工作。为什么它在 django 中不起作用?如何运行使用 javascript 的 html 页面?
* html 页面位于我的模板文件夹中,在此文件夹中,我还有一个类似scripts/
.
* html 页面位于我的模板文件夹中,在此文件夹中,我还有 scripts/spryMap-2.js 之类的文件夹
您的模板文件夹中不应包含静态文件(例如 spryMap-2.js)。它应该放在您的静态文件文件夹中。然后你用这样的东西加载你的脚本
<script type="text/javascript" src="{{ STATIC_URL }}scripts/spryMap-2.js"></script>
更新:我不确定为什么我的回答被否决了。我已经扩展了我的答案,以提供更详细的说明来修复您的静态文件。
问题是您的静态文件未正确提供 - 因此当您尝试直接访问 js 文件时出现 404。正如我上面提到的,模板文件夹不是静态文件的正确位置。您应该配置您的STATIC_ROOT
和STATIC_URL
设置。例如
#Make this the path to the folder where you will keep your static files
STATIC_ROOT = '/path/to/your/project/static'
#The absolute or relative URL which will serve your static files
STATIC_URL = '/static/' #translates to http://localhost:8000/static/, for example
为了让 django 开发服务器为您的静态文件提供服务,您需要在 urls.py 中添加以下内容
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
# ... the rest of your URLconf goes here ...
urlpatterns += staticfiles_urlpatterns()
我刚刚检查了这段代码,它似乎工作正常,也许尝试检查脚本源路径标记。我用了
<script src="{{ STATIC_URL }}assets/js/spryMap-2.js"></script>
代替
<script type="text/javascript" src="scripts/spryMap-2.js"></script>
我得到了可拖动的附加输出:
如果您使用的是 Django,请确保您在设置文件中提及静态路径的正确路径,并将您的 sprymap.js 文件放到该位置,我想这将解决问题。