【发布时间】:2021-02-21 10:29:57
【问题描述】:
我正在尝试在 Heroku 上启动 Django。我环顾 Stack Overflow,尝试了不同的方法,但我无法弄清楚。它看起来类似于 Django 上与 staticfiles 问题相关的所有问题,不幸的是我不知道问题出在哪里。我的项目使用DEBUG = True 运行良好,但是当我将其更改为 False 时,我得到以下回溯:
2020-11-09T13:13:42.801384+00:00 app[web.1]: Missing staticfiles manifest entry for 'order/css/open-iconic-bootstrap.min.css'
它发生在我所有需要静态文件的应用程序上。我试图找到 manifest.json,但它不存在。所以我认为这是问题所在。
这是我的相关设置:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
#more ...
]
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedStaticFilesStorage'
django_heroku.settings(locals())
感谢您对此进行调查!
【问题讨论】:
-
你能确认你已经尝试过
heroku run python manage.py collectstatic吗?您的设置是否启用了 DISABLE_COLLECTSTATIC ?如果是,禁用它可能会让您了解发生了什么问题。也可以设置 DEBUG_COLLECTSTATIC=1。 -
@keoma 这是我的配置:
DEBUG_COLLECTSTATIC: 1DISABLE_COLLECTSTATIC: 0。我尝试切换 DISABLE_COLLECTSTATIC,但我看不出有任何区别。当我在 heroku 上运行 collectstatic 时,我在我的所有文件上都得到了It will be ignored since only the first encountered file is collected. If this is not what you want, make sure every static file has a unique path,导致0 static files copied to /app/staticfiles, 742 unmodified, 2140 post-processed -
DISABLE_COLLECTSTATIC=0和未设置的变量之间可能存在差异。你可以试试heroku config:unset DISABLE_COLLECTSTATIC吗?确保运行构建脚本,而不仅仅是重新启动脚本。 -
@keoma 成功了!您可以将其发布为答案吗?
标签: python django heroku django-staticfiles whitenoise