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 master
und 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.py
Code:
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 = True
funktionierte alles wieder einwandfrei. Das Problem war also
Dieser Fehler tritt in der Regel nicht in der Entwicklung auf, da DEBUG = True
ManifestStaticFilesStorage 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 = False
Modus ausgeführt werden.
Ändern Sie Ihre Django-Protokollierungseinstellungen settings.py
wie 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.py
wie 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