【问题标题】:Django Server Error 500 after changing Debug to False将 Debug 更改为 False 后 Django 服务器错误 500
【发布时间】:2016-05-08 15:13:07
【问题描述】:

我正在尝试将 Django 应用程序部署到 heroku。关注此tutorial

在运行 heroku 本地网络(甚至是 python manage.py runserver)并调用服务器时,出现服务器错误 500。帮我解决这个错误。

这是我的settings.py 文件。 [允许的主机设置为 * 用于测试]

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]

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

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
# Update database configuration with $DATABASE_URL.

db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)

【问题讨论】:

  • 您应该设置error reporting emails 以便收到一封包含您的异常堆栈跟踪的电子邮件。
  • 您没有提供足够的信息来帮助您。请提供可能与 500 状态代码相关联的异常,如果可能,请提供堆栈跟踪指向的代码。
  • @ihasadad 如果调试为假,则没有堆栈跟踪,如果调试为真,则错误本身不会出现
  • @schwobaseggl 由于在本地测试,即使配置了管理员也无法发送错误邮件
  • @KalyanDechiraju 然后您应该正确配置日志记录。如果没有任何帮助,请将整个视图代码包装在 try-except 中并记录堆栈跟踪...在不知道异常及其来源的情况下,您将只能猜测。

标签: python django heroku


【解决方案1】:

requirements.txt

中添加 static3

wsgi.py

中添加以下行
from django.core.wsgi import get_wsgi_application
from dj_static import Cling
application = Cling(get_wsgi_application())

在 settings.py 中添加以下行

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATIC_ROOT = 'staticfiles'
STATIC_PATH = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = (
    STATIC_PATH,
)

【讨论】:

    猜你喜欢
    • 2021-11-03
    • 2021-11-05
    • 2018-03-20
    • 2021-05-10
    • 2017-09-19
    • 2015-02-16
    • 1970-01-01
    • 2023-03-20
    • 2017-10-20
    相关资源
    最近更新 更多