我正在尝试在django中实现代码。我的代码工作正常。但是,当我尝试在django中使用时。似乎javascript无法正常工作。为什么它不在django工作?如何运行使用javascript的html页面?
* html页面位于我的模板文件夹中,在此文件夹中,我还有一个像scripts/
这样的文件夹。
答案 0 :(得分:1)
* html页面位于我的模板文件夹中,在这个文件夹中,我还有像scripts / spryMap-2.js这样的文件夹
您不应该在模板文件夹中拥有静态文件(例如spryMap-2.js)。它应该进入你的静态文件夹。然后用这样的
加载你的脚本<script type="text/javascript" src="{{ STATIC_URL }}scripts/spryMap-2.js"></script>
更新:我不确定为什么我的答案被拒绝投票。我已经扩展了我的答案,以提供有关修复静态文件的更详细说明。
问题是您的静态文件没有正确提供 - 因此当您尝试直接访问js文件时404。如上所述,templates文件夹不适合静态文件。您应该配置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()
答案 1 :(得分:0)
我刚检查了这段代码,它似乎工作正常,也许尝试检查脚本源路径标记。我用了
<script src="{{ STATIC_URL }}assets/js/spryMap-2.js"></script>
而不是
<script type="text/javascript" src="scripts/spryMap-2.js"></script>
我得到了可拖动的附加输出:
如果您正在使用Django,请确保在静态路径的设置文件中提及正确的路径,并将sprymap.js文件放到该位置,我想这会对问题进行排序。