【发布时间】:2018-08-01 10:53:09
【问题描述】:
我正在 Heroku 上部署一个 Django 应用程序。
在我的设置模块中,我已配置为托管静态文件,例如
STATIC_ROOT = os.path.join(BASE_DIR, 'static_my_project')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static_my_project')
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn', 'media_root')
和urls.py
urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
但是在部署到 heroku 时,它会给出错误
SystemCheckError: System check identified some issues:
ERRORS:
?: (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.
【问题讨论】:
-
如果静态根目录与static_dirs相同,则无需在设置中设置。 STATICFILES_DIRS 是 Django 将在其中搜索其他静态文件的文件夹列表,以及安装的每个应用程序的每个静态文件夹。 STATIC_ROOT 是在 manage.py collectstatic 之后将存储每个静态文件的文件夹
-
Please folllow this link - 我从 stackoverflow 中找到了答案
标签: django django-staticfiles django-settings