Статические файлы Django Template js не загружаются
Прошло очень много времени с тех пор, как мне приходилось использовать шаблоны Django, но у меня возникли проблемы с загрузкой статических js файлов. Моя структура выглядит следующим образом:
Project > static > js > main.js
в шаблоне у меня <script type="text/javascript" src="{% static 'js/main.js' %}"></script>
У меня есть {% load static %}
в верхней части html файла, а также вот мои настройки
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
Может кто-нибудь просветить меня, что я упускаю?
являются ли эти директории статическими в каталоге приложения? Убедитесь, что они находятся в каталоге приложения, а не в каталоге проекта
На самом деле, не стоит думать об этом слишком сложно, пока маршрутизация правильная, это то же самое, что написать общий режим front-end.
settings.py
BASE_DIR = Path(__file__).parent
CORE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(CORE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(CORE_DIR, 'core/static'),
)
scripts.html
<script src="/static/assets/js/vendor-all.min.js"></script>
<script src="/static/assets/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="/static/assets/js/pcoded.min.js"></script>
тогда реальное местоположение моего js - /core/static/assets/js/xxx
Заменить:
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
With:
STATICFILES_DIRS =(
os.path.join(BASE_DIR,'static'),
)
Тогда он будет работать нормально.