我想在django中实现代码。我的代码正常工作正常。但是,当我尝试在Django中使用。它似乎JavaScript不工作。为什么它不在Django中工作?我如何运行使用JavaScript的HTML页面? *这个html页面位于我的模板文件夹中,并且在这个文件夹中,我也有一个像scripts/
这样的文件夹。django javascript代码没有运行,但它正在运行
回答
* HTML页面住在我的模板文件夹,这个文件夹中,我也像文件夹脚本/ 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()
我只是检查这个代码,它似乎是工作的罚款,也许尝试检查脚本源路径标记。我用
<script src="{{ STATIC_URL }}assets/js/spryMap-2.js"></script>
,而不是
<script type="text/javascript" src="scripts/spryMap-2.js"></script>
和我得到了连接输出,可拖动:
柜面您正在使用Django确保您提到在设置文件的正确路径为静态路径,并把你的sprymap.js文件到该位置,我想这将排序问题。
尝试将.js文件放入静态文件夹,然后尝试修改settings.py文件以识别静态根目录,这在我的情况下是这样的。 import os PROJECT_ROOT = os.path.abspath(os.path.dirname(__ name__)) STATIC_ROOT = os.path.join(PROJECT_ROOT,'project/static') – Sirius
- 1. JavaScript代码没有运行
- 2. Javascript正在运行代码
- 3. Windows服务正在运行但没有执行代码
- 4. 当运行代码时它不响应(但它在后台运行正常)
- 5. 代码没有运行但编译?
- 6. JavaScript简单代码没有运行
- 7. Mashape api JavaScript代码没有运行?
- 8. jsFiddle代码没有运行?
- 9. jQuery代码没有运行
- 10. NSArray代码没有运行
- 11. ontouchListener代码没有运行?
- 12. 代码没有运行
- 13. 代码块没有运行
- 14. Python没有运行代码
- 15. Java代码没有运行
- 16. Javascript代码在功能外运行,但在功能内运行时不运行
- 17. 运行Javascript代码
- 18. FB没有定义,但Javascript代码运行顺畅
- 19. drawRect被调用,但它内部的代码在运行时没有被执行?
- 20. 没有它运行
- 21. 代码不输出,但它正在运行。 [c]
- 22. 更换Javascript代码并运行它
- 23. JavaScript - onclick事件没有运行,代码序列不正确
- 24. django ::在django代码中运行manage.py
- 25. Javascript没有运行
- 26. django:运行'django示例'时没有ForeignKey'错误教程代码
- 27. 我的html代码没有运行,当我包含javascript代码
- 28. Javascript无法在localhost上运行,但它正在运行Live网站
- 29. 此代码在jupyter运行完美,但没有在Python 3.6
- 30. Django:正在运行Django-cron
我必须这样做吗?我的意思是它应该不使用静态url,因为.js文件仍然可以在同一个文件夹中访问。没有在模板文件夹中运行的原因是什么? –
基本上,我相信你的spryMap-2.js文件没有被提供,因为服务器(例如'manage.py runserver')不知道你的静态文件位于模板文件夹中。 django开发服务器需要在设置中正确配置“STATIC_ROOT”和“STATIC_URL”,并且需要您的spryMap-2.js在正确的文件夹中。 – Enrico
我没有STATIC_ROOT ='',我的意思是空的,你认为这是我的代码不工作的原因? –