【问题标题】:Module "whitenoise.storage" does not define a "CompressedMainfestStaticFilesStorage" attribute/class模块“whitenoise.storage”未定义“CompressedMainfestStaticFilesStorage”属性/类
【发布时间】:2021-06-19 16:43:45
【问题描述】:

我正在使用 whitenoise 在我的 Django 项目中提供静态文件。这是settings.py

STATIC_URL = 'data/static/'
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'data/static/'),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

我的静态文件位于data/static 文件夹中。当我在评论此行后尝试运行 python manage.py collectstatic 时:

STATICFILES_STORAGE = 'whitenoise.storage.CompressedMainfestStaticFilesStorage'

运行良好。但是当我在取消注释后尝试运行collectstatic 时,会出现上述错误。任何人都知道为什么这是一个错误?

以下是应用程序和中间件:

INSTALLED_APPS = [
    'admin_interface',
    'colorfield',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'whitenoise.runserver_nostatic',
    'django.contrib.staticfiles',
    'app',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

我尝试将Debug 设置为TrueFalse,但在启用压缩的任何一种情况下都不起作用。

【问题讨论】:

    标签: django whitenoise


    【解决方案1】:

    你的班级名称有错别字。它是压缩的ManifestStaticFilesStorage,而不是 Mainfest。如果您的 IDE 不支持此类完成,我建议您始终从文档中复制粘贴。

    【讨论】:

    • 非常感谢。我克隆了这个项目,我猜最初的创建者错过了这个。我将使用和 IDE
    猜你喜欢
    • 2014-09-08
    • 2021-07-04
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 2014-11-14
    • 1970-01-01
    • 2015-08-27
    相关资源
    最近更新 更多