django javascript代码未运行,但单独运行
我正在尝试用django实现代码。我的代码正常工作。但是,当我尝试在django中使用时。它似乎不起作用。为什么它在django不起作用?如何运行使用javascript的html页面 *html页面位于我的模板文件夹中,在这个文件夹中,我还有一个类似django javascript代码未运行,但单独运行,javascript,html,django,django-templates,Javascript,Html,Django,Django Templates,我正在尝试用django实现代码。我的代码正常工作。但是,当我尝试在django中使用时。它似乎不起作用。为什么它在django不起作用?如何运行使用javascript的html页面 *html页面位于我的模板文件夹中,在这个文件夹中,我还有一个类似scripts/的文件夹 *html页面位于我的模板文件夹中,在这个文件夹中,我还有一个类似scripts/spryMap-2.js的文件夹 模板文件夹中不应包含静态文件(如spryMap-2.js)。它应该放在静态文件文件夹中。然后用这样的东西加
scripts/
的文件夹
*html页面位于我的模板文件夹中,在这个文件夹中,我还有一个类似scripts/spryMap-2.js的文件夹
模板文件夹中不应包含静态文件(如spryMap-2.js)。它应该放在静态文件文件夹中。然后用这样的东西加载脚本
<script type="text/javascript" src="{{ STATIC_URL }}scripts/spryMap-2.js"></script>
为了让django开发服务器为您的静态文件提供服务,您需要在url.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文件放到该位置,我想这将解决问题。我必须这样做吗?我的意思是,它应该在不使用静态url的情况下工作,因为.js文件仍然可以在同一个文件夹中访问。没有在template文件夹中运行的原因是什么?基本上,我认为您的spryMap-2.js文件没有被提供,因为服务器(例如
manage.py runserver
)不知道您的静态文件位于templates文件夹中。django开发服务器需要在设置中正确配置STATIC_ROOT
和STATIC_URL
,并且需要将您的spryMap-2.js放在正确的文件夹中。我没有STATIC_ROOT='',我的意思是它是空的,您认为这是我的代码无法工作的原因吗?这是可能的。假设您的测试页面处于访问时发生的情况?未找到页面(404),因为此页面没有定义的url…?尝试将.js文件放入静态文件夹,然后尝试修改settings.py文件以标识静态根目录,在我的示例中,它是静态根目录。导入os PROJECT\u ROOT=os.path.abspath(os.path.dirname(name))STATIC\u ROOT=os.path.join(PROJECT\u ROOT,'PROJECT/STATIC')
<script type="text/javascript" src="scripts/spryMap-2.js"></script>