Django Collectstatic 可疑文件操作

Django Collectstatic Suspicious File operation

我正在尝试 运行 在 heroku 上收集静态信息。当我收到此错误时:

remote: 'component ({})'.format(final_path, base_path)) 
remote: django.core.exceptions.SuspiciousFileOperation: The joined path (/tmp/build_4652acfe079723bc273763513a187201/fonts/glyphicons-halflings-regular.eot) is located outside of the base path component (/tmp/build_4652acfe079723bc273763513a187201/staticfiles) 

我想我可能错过了一些关于 collectstatic 的东西,所以我在本地 运行 它,并得到了完全相同的错误。

然后我去看了。我发现:

/home/malikarumi/Projects/aishah/jamf35/staticfiles/bootstrap/fonts/glyphicons-halflings-regular.eot

/home/malikarumi/Projects/aishah/jamf35/static/bootstrap/fonts/glyphicons-halflings-regular.eot

我的设置:

STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static/bootstrap/fonts/'),

那里有一张票,但它似乎是关于路径的,我看不出我的路径有问题,https://code.djangoproject.com/ticket/27201 另一个处理文件,可能更接近我的问题,因为它与创建的 tmp 文件有关,但我真的不知道: https://code.djangoproject.com/ticket/26644

我应该注意到我也看过 , Django: How to allow a Suspicious File Operation / copy a file, and ,但它们似乎更多地是关于 MEDIA ROOT 问题。

我不确定这里的修复方法是什么。请指教。谢谢。

您的 STATICFILES_DIRS 设置看起来很奇怪。您确定不想要这个吗?

STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'),]

问题是你的一个 CSS 文件有一个相对引用,它在静态目录之外解析,我认为那是因为你有 static/bootstrap/fonts 而你应该 static.