Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django javascript代码未运行,但单独运行_Javascript_Html_Django_Django Templates - Fatal编程技术网

django javascript代码未运行,但单独运行

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)。它应该放在静态文件文件夹中。然后用这样的东西加

我正在尝试用django实现代码。我的代码正常工作。但是,当我尝试在django中使用时。它似乎不起作用。为什么它在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>
为了让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>