非调试模式下的 Django Whitenoise 500 服务器错误

2024-04-24

我在本地机器上使用 django。为了提供静态文件,我使用了 WhiteNoise。什么时候DEBUG = True所有静态文件均已正确提供。但当我改变了DEBUG = False并设置ALLOWED_HOSTS = ['*']我收到 500 服务器错误。但是管理站点加载时没有任何错误。还有当我评论出来的时候STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'我没有收到 500 错误。

我按照中给出的文档进行操作http://whitenoise.evans.io/en/stable/django.html http://whitenoise.evans.io/en/stable/django.html连接白噪声。我没有做任何改变wsgi.py文件。我跑了python manage.py collecststatic它运行没有任何错误。

The settings.py如下:

import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

SECRET_KEY = 'fdft&b(xb*!qq3ghjkjhg6789ih8ik!w10$0uscxcpqpmz'
DEBUG = False

ALLOWED_HOSTS = ['*']

INSTALLED_APPS = [
'whitenoise.runserver_nostatic', #Disable Djangos static file server during DEVELOPMENT
'gep_app.apps.GepAppConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

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',
]

ROOT_URLCONF = 'gep_project.urls'

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    },
},
]

WSGI_APPLICATION = 'gep_project.wsgi.application'


DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': '*************',
    'USER': '*****',
    'PASSWORD': '********',
    'HOST': '*****',
    'PORT': '5432',
}
}

 # User model
 AUTH_USER_MODEL = 'gep_app.User'

 # Login URL
 LOGIN_URL = 'login'

 # Login redirect
 LOGIN_REDIRECT_URL = 'home'

 # Logout redirect
 LOGOUT_REDIRECT_URL = 'login'

 #Authentication backends
 AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend',
)

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

我有一个类似的错误,日志显示 ValueError:Missing staticfiles manifest entry for...

更改 settings.py 中的 STATICFILES_STORAGE 从:
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
to:
STATICFILES_STORAGE = 'whitenoise.storage.CompressedStaticFilesStorage'
如中所述这部分白噪声文档 http://whitenoise.evans.io/en/stable/django.html#add-compression-and-caching-support为我修好了。

此外,您可能想更改您的 SECRET_KEY,因为它已公开共享。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非调试模式下的 Django Whitenoise 500 服务器错误 的相关文章

  • 如何从 docker-compose 链接到 Amazon RDS

    我的 docker compose yml 看起来像这样 django build user django links LINK TO AMAZON RDS command gunicorn sh env file config setti
  • 如何在 Django ModelForm 中过滤外键选项?

    假设我的中有以下内容models py class Company models Model name class Rate models Model company models ForeignKey Company name class
  • 如何引用 models.py 之外的信号

    在文档中Django 它指定models py是定位信号回调函数的好地方 post save pre save etc 这段代码应该放在哪里 您可以将信号处理和注册代码放在您喜欢的任何地方 但是 您需要确保它所在的模块获取 尽早导入 以便信
  • Django 的登录代码

    谁能给我一些带有模板代码的示例代码来创建 Django 登录 Thanks 包含示例登录模板在文档中 https docs djangoproject com en stable topics auth default module dja
  • Django ModelForm 验证失败,没有错误

    好吧 我已经盯着这几个小时试图弄清楚发生了什么 但无济于事 我正在尝试使用 instance 关键字创建一个 ModelForm 将其传递给一个现有的模型实例 然后保存它 这是 ModelForm 在我试图找出此问题的原因时 从原始版本中删
  • 将 Django OAuth2 提供程序与 JupyterHub 结合使用

    我正在尝试运行与 JupyterHub 服务器配对的 Django Web 应用程序 用户通过 Web 应用程序输入 然后在登录后获得对笔记本服务器的访问权限 为了促进这一点 我尝试使用OAuth2 其中 Django 提供身份验证 Jup
  • python 2.7+ 中的组引用无效

    我正在尝试将我的网页 在 django 中创建 中的所有 WikiLink 类型的字符串转换为 html 链接 我正在使用以下表达式 import re expr r s A Z a z A Z a z s repl r a href 1
  • 如何在Python中创建二维码而不将其另存为图像?

    我正在尝试使用以下代码在 Django 应用程序上使用 Python 制作二维码 def generate qr code reference qr qrcode QRCode version 1 error correction qrco
  • 使用信号时出现 django TransactionManagementError

    我有一个与 django 的用户和 UserInfo 一对一的字段 我想订阅用户模型上的 post save 回调函数 以便我也可以保存 UserInfo receiver post save sender User def saveUse
  • 防止 Celery Beat 运行相同的任务

    我有一个计划的 celery 每 30 秒运行一次任务 我有一个每天作为任务运行 另一个每周在用户指定的时间和一周中的某一天运行 它检查 开始时间 和 下一个预定日期 在任务完成之前 下一个计划日期不会更新 但是 我想知道如何确保 cele
  • 当 Django 管理弹出窗口(绿色加号图标)完成时,是否有事件或其他方式调用 Javascript 函数?

    假设我们有这些 Django 模型 class Band models Model name models CharField max length 256 default Eagles of Death Metal class Song
  • django:django.utils.function.SimpleLazyObject 的目的?

    我遇到了分配的问题request user到一个名为prior user 然后基本上对用户进行了身份验证 然后检查是否request user prior user 我预计它们不会相同prior user应包含 AnonymousUser
  • django测试非字段验证错误

    我有一个自定义验证函数 但我想使用 Django 提供的单元测试框架来测试它是否抛出了应该抛出的错误 我可以直接调用该函数并以这种方式测试它 但这并不能确保它在视图中正确使用 即 我想进行集成测试 django 测试非特定字段验证错误的方法
  • 将应用程序级别用户名/用户 ID 注入 nginx/Apache 日志

    有没有办法将应用程序级别的用户名或 id 在本例中为 django 用户名或 id 注入 Apache 或 ngnix 日志中 请注意 我不是询问 HTTP 身份验证用户名 我目前正在使用一个简短的自定义中间件将此数据添加到响应标头 如下所
  • 媒体文件不在 cpanel 上的 django 应用程序中提供

    我有一个 django 应用程序在 cpanel 上运行 我不确定是否是我的问题 django 应用程序或 cpanel 服务器 当设置调试模式时True 我可以看到所有媒体文件 例如个人资料图片或pdf文件等 但是当设置调试模式时Fals
  • 如何在 Django 1.4 中自定义管理过滤器

    我是 Python 和 Django 开发的新手 我从社区提供的易于阅读的示例中学到了很多东西 但最近我想为 Django 附带的管理控制台实现一个自定义的管理过滤器 我进行了很多搜索 只发现了一些过时的方法来完成它 例如 Django 1
  • 带有redirect_uri的social-auth-app-django Facebook后端状态

    我知道我的问题听起来像是重复的 但我到处寻找但没有找到任何解决方案 我正在努力为我的 django web 应用程序实现社交登录 到目前为止 谷歌 推特和雅虎登录均按预期工作 但facebook总是给出以下错误 URL 被阻止 此重定向失败
  • 运行 Django 测试时如何将 DEBUG 设置为 True?

    我目前正在运行一些 Django 测试 看起来DEBUG False默认情况下 有没有办法运行我可以设置的特定测试DEBUG True在命令行还是在代码中 对于测试用例内的特定测试 您可以使用 override settings 装饰器 f
  • Django admin.py 未知命令:'collectstatic'

    我已经从 django 1 2 7 升级到 django 1 5 1我正在使用 python 2 6 6当我尝试跑步时python manage py collectstatic i get 未知命令 collectstatic 从我的设置
  • 访问 Scrapy 内的 django 模型

    是否可以在 Scrapy 管道内访问我的 django 模型 以便我可以将抓取的数据直接保存到我的模型中 我见过this https scrapy readthedocs org en latest topics djangoitem ht

随机推荐