Django не может найти скрипты в папке static
Это может показаться дублирующим вопросом, но я не знаю, что происходит, но я прошел через stackoverflow и попробовал все решения, но не могу найти ответ, который мне нужен. Здесь Django находит style.css, но не может найти App.js и script.js, буквально расположенные в той же папке, что и style.css. Я не могу понять проблему, я потратил около 2 часов, пытаясь разобраться в ней.
Релевантный HTML
{% load static %}
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8">
<title>Reyanna</title>
<link rel="icon" href="https://img.icons8.com/nolan/96/bot.png" type="image/icon type">
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700,800,900" rel="stylesheet">
<link rel="stylesheet" href="{% static 'style.css' %}">
<link rel="script" href="{% static 'App.js' %}">
<link rel="script" href="{% static 'script.js' %}">
</head>
Settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "home/static",
]
Папки
- Home(Django App)
- |-> static
- |-> App.js
- |-> script.js
- |-> style.css
- |-> templates
- |-> index.html
в settings.py
>> TEMPLATES
, вставьте DIRS
путь, как показано ниже
'DIRS': [os.path.join(BASE_DIR, 'templates')]
Также скопируйте и вставьте следующее
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR
В вашем базовом html вы должны сделать следующее и поставить его перед body closing tag
, затем очистить историю браузера, включая все cookies и перезагрузить сервер, если он все еще не работает, я предлагаю проверить отсутствие закрывающего тега в вашем html или опечатку в имени тега.
<script src="{% static 'js/jquery.min.js' %}"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>
Поместил этот ответ с моего телефона. Извините за опечатки.