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>

Поместил этот ответ с моего телефона. Извините за опечатки.

Вернуться на верх