您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

服务器错误(500)在Heroku上进行Django部署

服务器错误(500)在Heroku上进行Django部署

我遇到了类似的问题,很难弄清楚DEBUG何时设置为False。当我重新配置它时,DEBUG = True一切再次正常。所以问题是

您通常不会在开发中看到此错误,因为当时DEBUG=True,ManifestStaticFilesStorage会切换为非哈希网址。

您所遇到的问题的解决方案可能与我的不同。但是您可以通过更改Django项目的日志记录方法来找到问题,因此heroku logs -t -a<heroku-app>即使在DEBUG = False模式下运行,也可以在命令行中查看更多信息。

如下更改django日志记录设置settings.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': ('%(asctime)s [%(process)d] [%(levelname)s] '
                       'pathname=%(pathname)s lineno=%(lineno)s '
                       'funcname=%(funcName)s %(message)s'),
            'datefmt': '%Y-%m-%d %H:%M:%s'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        }
    },
    'handlers': {
        'null': {
            'level': 'DEBUG',
            'class': 'logging.NullHandler',
        },
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        }
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': True,
        },
        'django.request': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': False,
        },
    }
}

然后运行heroku logs -t -a <heroku-app>并打开您之前遇到500错误的网址,您将在日志中找到问题所在。希望这会帮助你。

如果有一些静态文件丢失,只需settings.py按照以下步骤切换您的静态根目录即可STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')。运行时heroku run python manage.pycollectstatic -a <heroku-app>创建staticfiles目录。

Go 2022/1/1 18:32:32 有319人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶