web-dev-qa-db-fra.com

Impossible d'exécuter le serveur sur Django (connexion refusée)

J'ai enfin (pense) installé avec succès PostgreSQL et aussi de psycopg2 (j'utilise Windows). Btw, est un moyen de vérifier que cela fonctionne correctement?

Eh bien, je pense maintenant que je ne peux pas démarrer le serveur, tandis que je tape 'python manage.py runserver', il apparaît ceci (à la fin de la commande):

conn = _connect(dsn, connection_factory=connection_factory, async=async)
Django.db.utils.OperationalError: could not connect to server: Connection refused (0x0000274D/10061)
    Is the server running on Host "localhost" (::1) and accepting
    TCP/IP connections on port 8000?
could not connect to server: Connection refused (0x0000274D/10061)
    Is the server running on Host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 8000?

J'ai cherché beaucoup de documentation à ce sujet, par exemple dans cette rubrique , mais je ne trouve pas le moyen de le faire fonctionner correctement. J'ai essayé plusieurs modifications dans les fichiers pg_hba et postgresql, mais sans quitter. En ce moment, pg_hba ressemble à:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
Host    all             all             127.0.0.1            md5
# IPv6 local connections:
Host    all             all             127.0.0.1            md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#Host    replication     postgres        127.0.0.1/32            md5
#Host    replication     postgres        ::1/128                 md5

Et la conf postgresql ressemble à:

# - Connection Settings -

listen_addresses = 'localhost'      # what IP address(es) to listen on;
                # comma-separated list of addresses;
                # defaults to 'localhost'; use '*' for all
                # (change requires restart)
port = 8000             # (change requires restart)
max_connections = 100           # (change requires restart)
# Note:  Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = ''   # comma-separated list of directories
                # (change requires restart)
#unix_socket_group = ''         # (change requires restart)
#unix_socket_permissions = 0777     # begin with 0 to use octal notation
                # (change requires restart)
#bonjour = off              # advertise server via Bonjour
                # (change requires restart)
#bonjour_name = ''          # defaults to the computer name

Btw, mes settings.py de la base de données ressemblent à ceci:

DATABASES = {
'default': {
    'ENGINE': 'Django.db.backends.postgresql_psycopg2',
    'NAME': 'database1',                      
    'USER': 'root',
    'PASSWORD': '123456',
    'Host': 'localhost',
    'PORT': '8000',
    }
}

Je n'ai pas créé de base de données BTW, comment dois-je le faire? Quelles sont les applications de l'invite PostgreSQL?

J'apprécierais grandement l'aide avec ce problème que j'ai cherché et essayé pendant des jours mais sans sortie. Merci beaucoup.

EDIT 1: J'ai essayé de changer le port settings.py en 5432, mais maintenant le message d'erreur est le même, il suffit de changer le port:

could not connect to server: Connection refused (0x0000274D/10061)
    Is the server running on Host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?

Les fichiers de configuration sont-ils comme ça? Dois-je changer quelque chose? Je ne trouve pas de réponse. J'ai essayé avec python manage.py runserver et les deux indiquant le 127.0.0.1:8000 et 8001, mais aucun changement dans le message d'erreur. Qu'est-ce qui ne va pas? Merci beaucoup.

12
Jim

Pour moi, c'était pour les postgres qui n'étaient pas démarrés et activés. J'ai donc résolu le problème en procédant ainsi:

Sudo systemctl start postgresql
Sudo systemctl enable postgresql
10
Alex Jolig

J'ai juste eu le même problème et j'avais juste oublié de démarrer mon Postgres. L'ouvrir à partir de mes applications et sélectionner "Ouvrir psql" a résolu le problème.

5
scollaco

Définir le port par défaut sur 5432

DATABASES = {
'default': {
    'ENGINE': 'Django.db.backends.postgresql_psycopg2',
    'NAME': 'database1',                      
    'USER': 'root',
    'PASSWORD': '123456',
    'Host': 'localhost',
    'PORT': '5432',
    }
}

exécutez la commande:

python manage.py runserver 127.0.0.1:8000
4
Usman Maqbool

Si vous utilisez Postgresql et que vous développez sur un Mac, vous pouvez utiliser la commande ci-dessous pour démarrer Postgresql et cela devrait résoudre votre problème.

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

et pour l'arrêter

pg_ctl -D /usr/local/var/postgres stop -s -m fast
2
Addicted