[PYTHON] Ich möchte eine Django-App auf Heroku hochladen

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-Umgebung

# DEBUG = True
DATABASES = {

django ist standardmäßig ein Alias, wenn keine andere Datenbank ausgewählt ist

Datenbank verwenden

    '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/']

Erweiterte Einstellung

(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. a.png

Ergebnis

Wenn Sie mit Heroku bereitstellen und die angegebene URL im Browser anzeigen, sieht dies wie folgt aus b.png

[Was du nicht verstehst]

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. c.png

Vielen Dank.

Recommended Posts

Ich möchte eine Django-App auf Heroku hochladen
Ich möchte einen Blog-Editor mit dem Administrator von Django erstellen
Ich möchte in der Einschlussnotation drucken
Ich möchte eine Python-Umgebung erstellen
So stellen Sie eine Django-App in nur 5 Minuten für Heroku bereit
Ich möchte einfach ein Rauschmodell erstellen
Ich möchte Datetime.now in Djangos Test reparieren
Ich möchte einen DataFrame in MSSQL einfügen
So entwickeln Sie eine Cart-App mit Django
Ich möchte mit Python ein Fenster erstellen
Ich möchte ein Spiel mit Python machen
Ich möchte keinen Codierungstest machen
Ich möchte eine Art von Implementierung erstellen, die angeschlossen werden kann
Ich habe ein Skript geschrieben, um ein WordPress-Plug-In hochzuladen
Ich möchte mit Python in eine Datei schreiben
Ich möchte Timeout einfach in Python implementieren
Ich möchte einen Python-Generator viele Male iterieren
Ich möchte, dass DQN Puniki einen Homerun macht
100 Klopfen bei der Bildverarbeitung !! (021-030) Ich möchte eine Pause machen ...
Ich möchte einem Pandas-Datenrahmen eine group_id geben
Ich möchte mit einem Knopf am Kolben übergehen
Ich möchte mit verstärkendem Lernen einen Berg besteigen
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich möchte eine Datei mit Python zufällig testen
Schritte von der Installation von Python 3 bis zur Erstellung einer Django-App
Ich möchte mit einem Roboter in Python arbeiten.
Ich möchte eine Zeichenkette mit Hiragana teilen
Ich möchte ein Paket von Php Redis installieren
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Ich möchte manuell eine Legende mit matplotlib erstellen
Ich möchte automatisch eine Unternehmensgründungs-E-Mail senden
Für mich als Django-Anfänger (4) - Erstellen Sie eine Memo-App-
Ich möchte einen Quantencomputer mit Python betreiben
Stellen Sie eine mit Streamlit erstellte Web-App für Heroku bereit
Ich möchte eine lokale Variable mit Lambda binden
Laden Sie eine Datei in Dropbox hoch
Ich möchte SUDOKU lösen
Ich möchte einen Mox-Generator (2)
Stellen Sie das Django-Projekt für Heroku bereit
Ich möchte zum ersten Mal eine Django-Studie zur Mittagsdatenbank [EP1] erstellen
Ich möchte zum ersten Mal eine Django-Studie zum Mittagessen [EP1-4] erstellen
So stellen Sie eine mit Flask erstellte Web-App für Heroku bereit
[Django] Memorandum, wenn Sie asynchron kommunizieren möchten [Python3]
Ich möchte eine Jupyter-Umgebung mit einem Befehl starten
[Python] Ich möchte einen gemeinsamen Satz zwischen numpy erhalten
Ich möchte viele Prozesse von Python aus starten
Ich möchte ein Klickmakro mit pyautogui (Wunsch) erstellen.
Ich möchte automatisch einen modernen Metal-Bandnamen generieren
Ich möchte ein Klickmakro mit pyautogui (Outlook) erstellen.
Ich möchte eine virtuelle Umgebung mit Jupyter Notebook verwenden!
Ich möchte das Paket aus den Anforderungen.txt mit Poesie installieren
Ich möchte eine Nachricht von Python an LINE Bot senden
[Visualisierung] Ich möchte mit Plotly ein schönes Diagramm zeichnen
Ich möchte eine schöne Ergänzung zu input () in Python hinzufügen
Ich möchte vorerst eine Docker-Datei erstellen.
Ich möchte systemd grob verstehen
Implementieren Sie die Django-App auf Hy
Ich möchte Bilder kratzen und trainieren
Ich möchte ○○ mit Pandas machen