django - 当 Debug=False 时 Django Heroku 不提供静态文件
问题描述
我在Heroku上托管我的Django应用程序并使用whitenoise来处理静态文件。
以下是settings.py的内容
DEBUG = False
ALLOWED_HOSTS += [
'example.com',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
...
]
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static_my_project')
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_cdn', 'static_root')
但是静态文件不起作用。
设置Debug=True
是提供静态文件,但不是在Debug=False
.
解决方案
添加collectstatic
到Procfile
web: python manage.py collectstatic --no-input; gunicorn myapp.wsgi --log-file - --log-level debug
现在每个静态文件都在提供服务,包括 CSS、js、图像和视频。
推荐阅读
- php - 在(WP)php中,如果任务已完成,则向所有未完成任务的用户显示特定内容用户无法再看到内容其他人仍然可以看到它
- google-sheets - Google Sheets QUERY IMPORTRANGE 正在合并第一行和第二行
- python - 如何使用“tf.compat.v1.estimator.inputs.pandas_input_fn”为多任务学习提供多头张量流模型?
- android - 无法解决 FAB 的所有依赖项
- r - r data.frame RMarkdown 中的粗体条目
- php - 如何让机器人自动检查应用程序?同时拥有多个账户?
- javascript - GraalVM 中的 PoliglotMap 是什么?
- react-native - 在 react-native 中使用 fontAwesome 5 时:“0.64.2”它显示划掉的框
- c - 将几个函数外包到多个 C 文件中
- ios - 为什么返回按钮无法从 ViewController 返回?