Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set up a PostgreSQL database in Django

I'm new to Python and Django.

I'm configuring a Django project using a PostgreSQL database engine backend, But I'm getting errors on each database operation. For example when I run manage.py syncdb, I'm getting:

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 

Can someone give me a clue on what is going on?

like image 782
André Avatar asked Mar 22 '11 16:03

André


People also ask

Can I use PostgreSQL with Django?

Django officially supports the following databases: PostgreSQL. MariaDB. MySQL.


1 Answers

You need to install psycopg2 Python library.

Installation


Download http://initd.org/psycopg/, then install it under Python PATH

After downloading, easily extract the tarball and:

$ python setup.py install 

Or if you wish, install it by either easy_install or pip.

(I prefer to use pip over easy_install for no reason.)

  • $ easy_install psycopg2
  • $ pip install psycopg2

Configuration


in settings.py

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

- Other installation instructions can be found at download page and install page.

like image 134
20 revs, 3 users 96% Avatar answered Sep 29 '22 19:09

20 revs, 3 users 96%