У меня проблема с запуском js-файла из home.html
Например, предположим, что у меня есть следующие файлы:
home.html
{% load static %}
<head>
<script src = "{% static 'js/assets/jquery.js' %}"></script>
<script src = "{% static 'js/chatterbot/chatbot.js' %}"></script>
</head>
chatbot.js
$(function () {
console.info('running');
}
Я должен получить сообщение Бег в консоли при загрузке домашней страницы, но я этого не делаю.
settings.py имеет статические URL-адреса, определенные
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
# Extra places for collectstatic to find static files.
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url('accounts/', include('allauth.urls')),
url(r'^$', Home.as_view(), name='home'),
url(r'^api/chatterbot/', include(chatterbot_urls, namespace='chatterbot')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
и структура проекта
Есть идеи, что я делаю неправильно?
@seuling да, я
можно попробовать проверить staticfiles_dirs в оболочке? python manage.py shell -> from django.conf import settings и проверьте settings.STATICFILES_DIRS.
он возвращает 'F: \\ artemis \\ static'
Также попробуйте добавить STATIC_DIR = os.path.join(BASE_DIR, "static") в ваш файл settings.py.





Согласно вашему ответу it returns 'F:\\artemis\\static,
Тогда ваш путь к static неверен. Думаю, ваш BASE_DIR - это artemis. Итак, ваш STATICFILES_DIRS - это artemis/static/. Но ваш настоящий статический каталог проекта находится в artemis/artemis/static/.
Поэтому вам следует изменить свои статические каталоги на artemis/static или просто добавить свой собственный статический путь в STATICFILES_DIRS. Вы можете просто добавить абсолютный путь или использовать BASE_DIR.
Проверьте здесь для получения дополнительной информации.
Вы в разработке? (сервер запуска)