问题描述
当我在本地机器上运行 python manage.py collectstatic --noinput 时,它工作正常。但是当 heroku 运行 python manage.py collectstatic --noinput 时,它给出了这样的错误:for entry in os.scandir(path) FileNotFoundError: [Errno 2] 没有那个文件或目录:'/tmp/build_5d05d870/static'
我的项目目录如下:
mysite-----|libooki(app)----------|migrations
|----------------------|init.py
|----------------------|admin.py
|----------------------|........
-----------|media
-----------|media_cdn
-----------|mysite
-----------|static|--------------|css|------style.css
-----------|staticfiles
-----------|templates
-----------|.........
我的 settings.py 看起来像这样。 (我关注了这篇文章:https://devcenter.heroku.com/articles/django-assets)
from pathlib import Path
import os
import django_heroku
BASE_DIR = Path(__file__).resolve().parent.parent
TEMPLATE_DIR = os.path.join(BASE_DIR,'templates')
INSTALLED_APPS = [
........,'libooki',]
MIDDLEWARE = [
...........................................,'whitenoise.middleware.WhiteNoiseMiddleware',]
Wsgi_APPLICATION = 'mysite.wsgi.application'
STATIC_ROOT = os.path.join(BASE_DIR,'staticfiles')
STATIC_URL = '/static/'
STATICFILES_Dirs = (
os.path.join(BASE_DIR,'static'),)
MEDIA_ROOT = os.path.join(BASE_DIR,'media_cdn')
MEDIA_URL = '/media/'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesstorage'
django_heroku.settings(locals())
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)