Danke für deine Hilfe.
【Umgebung】 Surface Laptop2 Windows 1809 Python 3.7.4 (derjenige, der in der Befehlszeile ausgeführt wird) Django 2.2.6
[Was ich erreichen möchte] Ich möchte eine App veröffentlichen, die mit Django unter Verwendung von Heroku erstellt wurde
【Status】 Ich habe Probleme bei der Bereitstellung auf Heroku mit der Django-App und der Build ist nicht erfolgreich.
[Durchgeführte Verfahren](URLs, auf die verwiesen wird usw.) (1) https://qiita.com/frosty/items/66f5dff8fc723387108c https://qiita.com/RyuSA/items/0cbc7d5b0145585861a8 Ich habe settings.py mit Bezug auf diese beiden Sites neu geschrieben. Wurde wie folgt umgeschrieben vom Socket-Import gethostname # Sie können den Hostnamen auf diese Weise abrufen *** A. import django_heroku import os import dj_database_url
Hostname = gethostname () # Weisen Sie dem Hostnamen den von A erhaltenen Hostnamen zu
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))
INSTALLED_APPS = [ 'polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'Whitenoise.middleware.WhiteNoiseMiddleware' hinzugefügt, # ← ]
ROOT_URLCONF = 'mysite.urls'
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
WSGI_APPLICATION = 'mysite.wsgi.application'
AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ]
LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True
DEBUG = False if not DEBUG: SECRET_KEY = os.environ['SECRET_KEY']
DEBUG = False
try: from .local_settings import * # Importiert das gesamte loca_settings-Modul except ImportError: pass
STATIC_URL = '/static/' STATIC_ROOT = 'staticfiles' STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
if "DESKTOP-877IM6E" in hostname:
# DEBUG = True
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
ALLOWED_HOSTS = ['*'] # Da es sich um eine lokale Entwicklungsumgebung handelt, ist keine Domäne erforderlich else: DEBUG = False db_from_env = dj_database_url.config() DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'name', 'USER': 'user', 'PASSWORD': '', 'HOST': 'host', 'PORT': '', } } ALLOWED_HOSTS = ['https://salty-beyond-49092.herokuapp.com/']
(2) Wie in der Abbildung unten gezeigt, wird die Datei festgelegt und die Anforderungen.txt und Procfile werden festgelegt. Außerdem ist der im Bild schwarz abgedeckte Name Ihr PC.
Wenn Sie mit Heroku bereitstellen und die angegebene URL im Browser anzeigen, sieht dies wie folgt aus
Ich bin neu in Django und habe keine Ahnung, warum ich eine schlechte Anfrage bekomme. Ich habe keine Fehler, daher weiß ich nicht, wo ich sie beheben soll. In der Fehlermeldung des Entwicklertools 「Failed to load resource: the server responded with a status of 400 (Bad Request)」 Eine solche Fehlermeldung wird angezeigt. Auch wenn Sie sich den Heroku-Status ansehen, wie im Bild unten gezeigt Es scheint, dass es kein Problem mit der Datenbank usw. gibt.
Vielen Dank.
Recommended Posts