53 votos

Cómo configurar la Base de datos PostgreSQL en Django?

Soy nuevo en Python y Django.

Estoy configurando un proyecto de Django usando PostgreSQL motor de base de datos back-end, Pero me estoy poniendo de los errores en cada una de las operaciones de base de datos, por ejemplo cuando ejecuto manage.py syncdb, me estoy poniendo:

C:\xampp\htdocs\djangodir>python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
438, in execute_manager
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
67, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py"
, line 7, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_
signal
  File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 6, in
 <module>
    from django.db import models
  File "C:\Python27\lib\site-packages\django\db\__init__.py", line 77, in <modul
e>
    connection = connections[DEFAULT_DB_ALIAS]
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 92, in __getitem
__
    backend = load_backend(db['ENGINE'])
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 33, in load_back
end
    return import_module('.base', backend_name)
  File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "C:\Python27\lib\site-packages\django\db\backends\postgresql\base.py", li
ne 23, in <module>
    raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo
dule named psycopg

Alguien puede darme una pista sobre lo que está pasando?

117voto

Huckleberry Finn Puntos 1809

Es lo mismo para mi problema, y lo resuelto!

Necesita instalar psycopg2 biblioteca de Python.

Instalación


Descargar http://initd.org/psycopg/, a continuación, instalarlo en django y python PATH

Después de descargar, extraer fácilmente el tarball y:

python setup.py install

O si lo desea, en [la línea de comandos|console] instalarlo por cualquiera de easy_install o pip.

(Yo prefiero usar pip más de easy_install por ninguna razón.)

  • easy_install psycopg2
  • pip install psycopg2

Configuración


en la configuración.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'db_name',                      
        'USER': 'db_user',
        'PASSWORD': 'db_user_password',
        'HOST': ''
    }
}

- Otras instrucciones de instalación se puede encontrar en la página de descarga y de instalación de la página.

23voto

Dennis Bunskoek Puntos 331

También asegúrese de que usted tiene el paquete de desarrollo de PostgreSQL instalado. En Ubuntu usted necesita para hacer algo como esto:

$ sudo apt-get install libpq-dev

5voto

Sandro Munda Puntos 12808

Usted puede instalar "psycopg" con el siguiente comando:

# sudo easy_install psycopg2

Como alternativa, puede utilizar pip :

# pip install psycopg2

easy_install y pip se incluyen con ActivePython, o instalado manualmente desde el respectivo proyecto de los sitios.

O, simplemente, obtener la pre-construido de Windows installer.

3voto

aptwebapps Puntos 922

El problema inmediato es que parece ser que te estás perdiendo el psycopg módulo.

2voto

seyelent Puntos 94

He encontrado este artículo muy útil: https://www.digitalocean.com/community/articles/how-to-install-and-configure-django-with-postgres-nginx-and-gunicorn

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X