django javascript代码没有运行但是它正在运行

时间:2012-11-28 23:39:52

标签: javascript html django django-templates

我正在尝试在django中实现代码。我的代码工作正常。但是,当我尝试在django中使用时。似乎javascript无法正常工作。为什么它不在django工作?如何运行使用javascript的html页面?

* html页面位于我的模板文件夹中,在此文件夹中,我还有一个像scripts/这样的文件夹。

2 个答案:

答案 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_ROOTSTATIC_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>

我得到了可拖动的附加输出: Attached Output for the above problem

如果您正在使用Django,请确保在静态路径的设置文件中提及正确的路径,并将sprymap.js文件放到该位置,我想这会对问题进行排序。