whitenoise 似乎在 Django 中不起作用

问题描述 投票:0回答:1

我想在

DEBUG = False
中检查我的网络应用程序并使用白噪声来执行静态操作。我遵循了文档和不同的博客文章,我之前也使用过该工具,但这次它不起作用。

我尝试过的事情:

  1. 重新安装白噪音
  2. 更改白噪声中间件的位置
  3. 多次采集静态数据,还改名了
  4. 重新启动本地网络服务器

设置.py:

DEBUG = False

ALLOWED_HOSTS = ['*']

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    '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',
    'whitenoise.middleware.WhiteNoiseMiddleware',
]

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / "static"

urls.py:

urlpatterns = [
    path('', include('bella_beauty_shop_web_store.urls')),
    path('123321/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

在这里你可以看到我收集了统计数据:

错误: 当我将

DEBUG
改为
FALSE
时,控制台出现错误:

我真的不知道这里出了什么问题。我对 Django 很陌生,但我已经构建了一些网络应用程序,并且之前也使用过白噪声。

如您所知,当使用白噪声将

DEBUG
设置为
FALSE
时,我希望我的html能够以样式呈现。

django static whitenoise
1个回答
0
投票

根据文档,将中间件放在

SecurityMiddleware
之后。

© www.soinside.com 2019 - 2024. All rights reserved.