Django findstatic:“找不到匹配的文件”,但是文件在那里

时间:2019-09-13 17:25:13

标签: django heroku django-staticfiles whitenoise

在部署到Heroku的Django 1.11应用程序上。 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's instructions for service Static Files with 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
]

此外,requests.txt中的whitenoise

未能解决我问题的相关问题:

Django findstatic : No matching file found(对我来说,STATICFILES_DIRS似乎已正确设置)
django findstatic not looking in every directory(在我的情况下,findstatic似乎正在正确的父目录中查找)

0 个答案:

没有答案