Merci de votre aide.
【environnement】 Surface Laptop2 Windows 1809 Python 3.7.4 (celui qui s'exécute sur la ligne de commande) Django 2.2.6
[Ce que je veux réaliser] Je souhaite publier une application créée avec Django en utilisant heroku
【Statut】 J'ai des difficultés à déployer sur Heroku avec l'application Django et la compilation échoue.
[Procédures effectuées](URL auxquelles il est fait référence, etc.) (1) https://qiita.com/frosty/items/66f5dff8fc723387108c https://qiita.com/RyuSA/items/0cbc7d5b0145585861a8 J'ai réécrit settings.py en référence à ces deux sites. A été réécrit comme suit from socket import gethostname # Vous pouvez obtenir le nom d'hôte en faisant ceci *** A import django_heroku import os import dj_database_url
hostname = gethostname () # Attribuer le nom d'hôte obtenu par A à hostname
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', Ajouté'whitenoise.middleware.WhiteNoiseMiddleware ', # ← ]
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 * # Importation de tout le module loca_settings 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 = ['*'] #Parce qu'il s'agit d'un environnement de développement local, il n'y a pas besoin de domaine 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) Comme le montre l'image ci-dessous, le fichier est défini et requirements.txt et Procfile sont définis. En outre, ce qui est couvert en noir dans l'image est le nom de votre PC.
Et si vous déployez avec heroku et affichez l'URL spécifiée sur le navigateur, ce sera comme suit
Je suis nouveau sur Django et je n'ai aucune idée de pourquoi je reçois une mauvaise demande. Je n'ai pas d'erreur, donc je ne sais pas où le réparer. Dans le message d'erreur de l'outil de développement, 「Failed to load resource: the server responded with a status of 400 (Bad Request)」 Un message d'erreur comme celui-ci s'affiche. Même si vous regardez le statut heroku comme indiqué dans l'image ci-dessous Il semble qu'il n'y ait aucun problème avec la base de données, etc.
Je vous remercie.
Recommended Posts