我想在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 ='',我的意思是空的,你認爲這是我的代碼不工作的原因? –