• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

203
Views
Conecte Django a la base de datos Postgres de Heroku en vivo

Agregué una base de datos Postgres a mi aplicación Heroku y estoy tratando de conectar mi aplicación Django a ella. Sin embargo, mi aplicación siempre se conecta a la base de datos local de Postgres.

configuración.py

 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'app_db', 'USER': 'admin', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '', } } db_from_env = dj_database_url.config(conn_max_age=500) DATABASES['default'].update(db_from_env)

Configuré 'DATABASE_URL' en el archivo .env para que sea la URL de la base de datos de Postgres en mi aplicación Heroku, pero no parece actualizar la base de datos. ¿Cómo obligo a mi aplicación a conectarse a la base de datos de Heroku en lugar de a la local?

over 3 years ago · Santiago Trujillo
2 answers
Answer question

0

Puede configurar su configuración para leer desde su base de datos local cuando esté en desarrollo y usar su base de datos Heroku en producción. En primer lugar, como ya sabrá, necesita dj_database_url .

Puede crear un archivo de configuración separado llamado local_settings.py y allí incluir su configuración de db normal (por ejemplo, la configuración de db de Django predeterminada). Y en su settings.py :

 DATABASES = { 'default': dj_database_url.config() }

Y en la parte inferior de su settings.py :

 # Tries to import local settings, if on dev, # import everything in local_Settings, which overrides the dj_database_url # If on deploy, local_settings won't be found so just ignore the ImportError try: from .local_settings import * except ImportError: pass

Por lo tanto, su local_settings.py debería estar en su servidor de desarrollo, no en la aplicación Heroku (puede ignorarlo y agregarlo a .gitignore). Espero que esto sea entendible.

over 3 years ago · Santiago Trujillo Report

0

Conéctese a Live heroku DB desde el código Django local sin tener que configurar manualmente la variable de entorno DATABASE_URL:

Ponga el siguiente código en su archivo settings.py

 import os, subprocess, dj_database_url bashCommand = “heroku config:get DATABASE_URL -a app_name” #Use your app_name output = subprocess.check_output(['bash','-c', bashCommand]).decode(“utf-8”) # executing the bash command and converting byte to string DATABASES['default'] = dj_database_url.config(default=output,conn_max_age=600, ssl_require=True) #making connection to heroku DB without having to set DATABASE_URL env variable
over 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error