В приложении Django 1.11, развернутом на Heroku. Команда управления Django findstatic
говорит, что не может найти файл angular.min.js
, хотя файл находится в папке, которую проверяет findstatic.
$ heroku run python manage.py findstatic --verbosity 2 angular.min.js
Running python manage.py findstatic --verbosity 2 angular.min.js
No matching file found for 'angular.min.js'.
Looking in the following locations:
/app/static
/app/.heroku/python/lib/python3.6/site-packages/django/contrib/admin/static
/app/.heroku/python/lib/python3.6/site-packages/django_extensions/static
/app/.heroku/src/django-floppyforms/floppyforms/static
/app/.heroku/python/lib/python3.6/site-packages/rest_framework/static
$ heroku run ls /app/static/angular/
Running ls /app/static/angular/
angular.min.js controllers.js
Итак, похоже, что angular.min.js
находится в /app/static/angular/. Почему findstatic
не находит?
Соответствующая часть settings.py:
Я следовал инструкциям Heroku по обслуживанию статических файлов с помощью Django:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
STATIC_URL = "/static/"
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
# ...others here too
]
Кроме того, whitenoise
в файле requirements.txt
Связанные вопросы, которые не решили мою проблему:
Django findstatic: соответствующий файл не найден (STATICFILES_DIRS, как мне кажется, правильно установлен up)
django findstatic не ищет в каждом каталоге (в моя ситуация, кажется, что findstatic ищет в правильном родительском каталоге)
heroku run python manage.py findstatic --verbosity 2 angular/angular.min.js
. - person Chris   schedule 13.09.2019$ heroku run python manage.py findstatic --verbosity 2 angular/angular.min.js
Это находит файл. Я предполагал, что findstatic просматривает подпапки. Думаю нет. - person jchung   schedule 13.09.2019{% static 'angular/angular.min.js' %}
, так что все в порядке. Однако (как вы, наверное, догадались) для этого есть ошибка. Я отправлю другой вопрос SO для этой ошибки, потому что это не ошибкаfindstatic
. Спасибо. - person jchung   schedule 13.09.2019