GOOGLE ADS

Montag, 18. April 2022

Serverfehler (500) Django-Bereitstellung auf heroku

Ich habe das Debuggen in meiner Datei settings.py auf False gesetzt (beachten Sie, dass, bevor ich es auf False gestellt habe, alles perfekt funktioniert hat) und als ich rannte git push heroku masterund zu meiner Website ging, funktionierte die Homepage, aber das war nicht bei allen der Fall meiner Seiten: auf einigen habe ich eine Fehlermeldung bekommenServer Error (500)

Hier ist mein settings.pyCode:

DEBUG = False
ALLOWED_HOSTS = ["hacka-labs.herokuapp.com"]

Was mir aufgefallen ist, ist, dass die URLs, an denen ich eine ID übergebe, nicht funktionieren

Bitte helfen Sie mir, wenn Sie die Antwort kennen


Lösung des Problems

Ich hatte ein ähnliches Problem und es ist schwer herauszufinden, wann DEBUG auf False gesetzt ist. Als ich es wieder neu konfigurierte, DEBUG = Truefunktionierte alles wieder einwandfrei. Das Problem war also

Dieser Fehler tritt in der Regel nicht in der Entwicklung auf, da DEBUG = TrueManifestStaticFilesStorage zu nicht gehashten URLs wechselt, wenn.
https://stackoverflow.com/a/51060143/7986808

Die Lösung des Problems in Ihrem Fall kann von meiner abweichen. Sie können das Problem jedoch finden, indem Sie die Protokollierungsmethode Ihres Django-Projekts ändern, sodass Sie mehr Informationen in der Befehlszeile sehen können, wenn Sie heroku logs -t -a <heroku-app>sogar im DEBUG = FalseModus ausgeführt werden.

Ändern Sie Ihre Django-Protokollierungseinstellungen settings.pywie folgt:

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,
},
}
}

Führen heroku logs -t -a <heroku-app>Sie dann die URL aus, bei der Sie zuvor den Fehler 500 erhalten haben, und öffnen Sie sie. Sie werden das Problem in den Protokollen finden. Ich hoffe, das wird Ihnen helfen.

Falls einige statische Dateien fehlen, schalten Sie einfach Ihr statisches Stammverzeichnis settings.pywie folgt ein STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles'). Beim Ausführen heroku run python manage.py collectstatic -a <heroku-app>wird ein statisches Dateiverzeichnis erstellt.

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...