django STATICFILES_DIRS 设置不应包含 STATIC_ROOT 设置

标签 django django-staticfiles django-settings

我正在 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_URL = '/static/'
    
    if not DEBUG:
        STATIC_ROOT = ''
    
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static/'),
    ]

关于django STATICFILES_DIRS 设置不应包含 STATIC_ROOT 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48913016/

相关文章:

python - (Django) 无法分配 "u' 1'": "StaffProfile.user" must be a "User" instance

django - 用于 Django 的 mongodb

python - django 是否有一个静态查找器可以在鸡蛋中查找静态?

Django 静态文件在 Microsoft Azure 中生成后出现 404 错误

python - 没有名为 sql_server.pyodbc.base 的模块

python - 从外部源更改 Django 的设置

python - 无法使用 MEDIA_ROOT 和 MEDIA_URL 在 Django 中上传图片

Python/Django - 组织样式表和脚本

javascript - Django Python 中未加载静态文件

python - 'LazySettings' 类型的 django 参数不可迭代;那么如何检查设置是否存在?