Django любое установленное приложение не находит статические файлы

последние версии Django и Python, MacOS, PyCharm

У меня проблемы с установкой любого приложения. Каждый раз, когда я пытаюсь, он не находит ресурсов. В настоящее время я пытаюсь установить uncaught в своем приложении Django.

Мое приложение называется RealEstate.

Каталог развертывания для статических: имя_проекта / имя_приложения / static /

Каталог, который я использую для копирования новых или измененных файлов в каталог развертывания с помощью collectstatic: имя_проекта / имя_приложения / static_changes /

внутри static у меня есть папка администратора с разными подпапками: static / admin / css, static / admin / fonts, static / admin / img, static / admin / js, static / admin / node_modules

settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

DEBUG = TRUE

STATIC_ROOT = os.path.join(BASE_DIR, 'RealEstate/static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "RealEstate/static_changes/"),
]
STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]

Я выполнил установку для неперехваченного, в результате чего был создан файл package-lock.json и папка node_modules с неперехваченными ресурсами, которые были помещены в корень моего проекта:

$ npm install --save uncaught

Поскольку я использую static_changes для копирования любых новых или измененных ресурсов в статический каталог развертывания, я скопировал папку node_modules, помещенную в корень проекта, в мою папку app_name / static_changes / admin и запустил collectstatic

python3.7 manage.py collectstatic

Он копирует файлы в app_name / static. Но когда я открываю браузер, файлы никогда не обнаруживаются, и я получаю это сообщение в консоли запуска:

Not Found: /admin/node_modules/uncaught/lib/index.js
[26/Feb/2019 22:57:47] "GET /admin/node_modules/uncaught/lib/index.js
HTTP/1.1" 404 14044

Я попытался переместить admin / node_modules в каждую часть моей структуры каталогов и запустить для него collectstatic, но приложение по-прежнему не находит ресурсы.

Пожалуйста помоги. Почему любое приложение, которое я пытаюсь установить, не может видеть ресурсы, даже если они существуют в project_name / app_name / static / admin, и я использовал collectstatic, чтобы получить его там?


person arc    schedule 26.02.2019    source источник
comment
stackoverflow.com/a/54842511/5840704   -  person Davit Tovmasyan    schedule 26.02.2019
comment
не работает. Все еще ищу решение   -  person arc    schedule 26.02.2019
comment
@DavitTovmasyan Я решил проблему. Это был src в html с неправильным URL. Спасибо за вашу помощь.   -  person arc    schedule 26.02.2019


Ответы (2)


убедитесь, что URL-адрес в base.html правильный, например:

<script src="{% static "admin/node_modules/uncaught/lib/index.js" %}"></script>
person arc    schedule 26.02.2019

В macOS я выполнил следующие действия:

https://docs.djangoproject.com/en/3.1/howto/static-files/

А закончилось так:

settings.py

BASE_DIR = Path(__file__).resolve().parent.parent  ---> Didn't touch this specific line

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    BASE_DIR / "static"
]

main.html

{% load static %}
<link rel="stylesheet" type="text/css" href="{% static '/css/main.css' %}">
person Clau    schedule 07.01.2021