相关疑难解决方法(0)

Django登录Heroku

我知道这个问题已被问过几次了,但我无法让它发挥作用.我已经花了半天时间尝试了几十种组合,现在再次尝试它仍然无法正常工作.

在我的代码中,我记录了几个部分,比如在try-except中或从管理命令中记录一些信息.我正在做非常正常的事情,这是在几个本地安装和一些Nginx服务器上工作.

像这样的python文件:

import logging
logger = logging.getLogger(__name__)
logger.info('some important infos')
Run Code Online (Sandbox Code Playgroud)

使用以下最小的settings.py(我试过没有流指示,没有指定记录器,使用命名记录器,几乎所有可能的组合,我也尝试了更复杂的组合)

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'stream': sys.stdout
        }
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'propagate': True,
            'level': 'INFO',
        },
        '': {
            'handlers': ['console'],
            'level': 'INFO',
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后还简单地从shell测试 heroku run python

import logging
level = logging.INFO
handler = logging.StreamHandler()
handler.setLevel(level)
handler.setFormatter(logging.Formatter('%(levelname)s: %(message)s'))
logger = logging.getLogger('info')
logger.addHandler(handler)
logger.setLevel(level) #even if not required...
logger.info('logging test')
Run Code Online (Sandbox Code Playgroud)

最后一个可能在控制台中显示为"print"语句,但既不是在这里也不是从命令或服务器,没有任何东西永远不会出现在heroku logs …

python django logging heroku

22
推荐指数
3
解决办法
1万
查看次数

当我将 Debug - False 设置为 True 时,Django Heroku 服务器错误 (500) 工作正常

我知道对此有很多问题,但说实话,大多数问题都没有得到解答,或者解决方案不起作用。

我有“简单”的问题。当我将 Debug 设置为 False 并将其推送到 heroku 时,我收到“服务器错误 (500)”。我读了这些主题:

当 Debug = False 时,Heroku 服务器错误 (500),whitenoise 找不到 style.css

每当 django 中的 debug=False 时,Heroku 都会给出服务器错误 (500),而当 debug=True 时则不会出现错误

https://www.reddit.com/r/djangolearning/comments/acj65x/why_am_i_getting_a_500_server_error_when/

https://teamtreehouse.com/community/heroku-bad-request-500

我尝试了他们的解决方案,但仍然不起作用。我没有测试过但应该有帮助的唯一解决方案是消除白噪声。这对我来说有点“不行”。

对于这个错误我该怎么办?

谢谢并干杯!

编辑:

这是我的日志。我试图注释掉白噪音,但没有帮助。

我正在查看我的代码,但没有任何对“favicon.ico”的引用。另外,我尝试运行collectstatic,因为我发现了一些与之相关的主题,但它对我不起作用。

首先它问我:

You have requested to collect static files at the destination
location as specified in your settings:

    /app/staticfiles
Run Code Online (Sandbox Code Playgroud)

然后我得到了错误:

FileNotFoundError: [Errno 2] No such file or directory: '/app/static'
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为首先它向我确认我将这个文件夹从 static 覆盖到 staticfiles 。在我的主目录中,我有文件夹“staticfiles”。在我的应用程序文件夹中,我有文件夹“static”。关闭调试后一切正常。

    2020-05-19T05:15:40.192943+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=robotbuilder.herokuapp.com request_id=eeaf4fd1-b73b-4e84-aacd-7e701d3e8932 fwd="83.26.255.146" dyno=web.1 connect=1ms service=3ms status=404 …
Run Code Online (Sandbox Code Playgroud)

django heroku

12
推荐指数
2
解决办法
7028
查看次数

将 Django 部署到 Heroku - 服务器错误 (500)

我一直在制作一个 django 应用程序,现在正在尝试将它部署到 heroku。但是,当我继续下去时,说Server Error (500),并且日志说:2017-05-27T21:00:14.634310+00:00 heroku[router]: at=info method=GET path="/" host=remberit.herokuapp.com request_id=065d27c6-9211-458f-9fc6-bb677d43581e fwd="86.13.204.65" dyno=web.1 connect=0ms service=151ms status=500 bytes=387 protocol=https

这是我的settings.py(至少是相关部分,但请询问您是否想要其余部分):

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))

STATIC_ROOT = os.path.join(PROJECT_ROOT, "staticfiles")
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'

import dj_database_url

DATABASES['default'] = dj_database_url.config()

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

ALLOWED_HOSTS = ['*']

DEBUG = False

try:
    from .local_settings import *
except ImportError:
    pass
Run Code Online (Sandbox Code Playgroud)

这是我的 wsgi.py:

import os

from django.core.wsgi import get_wsgi_application
#from whitenoise.django import DjangoWhiteNoise
import django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', …
Run Code Online (Sandbox Code Playgroud)

python django heroku

6
推荐指数
3
解决办法
1万
查看次数

标签 统计

django ×3

heroku ×3

python ×2

logging ×1