Django与Postgresql数据库createuperuser没有响应

时间:2018-01-20 18:55:26

标签: django postgresql

我尝试使用django 2的

postgresql 10数据库

当我跑

python manage.py makemigrations 
python manage.py migrate

输出表明数据库运行良好。 但是当我尝试创建一个supseruser

python manage.py createsuperuser

控制台实际挂起如下:

root@ca80209360d2:/app# python manage.py createsuperuser
Username (leave blank to use 'root'): tdy
Email address: 
Password: 
Password (again): 

所以在我输入密码后,它没有打印出成功创建的超级用户,就像我使用sqlite时一样..

我必须按Ctrl + C:

^CTraceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/kombu/utils/functional.py", line 36, in __call__
    return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/kombu/utils/functional.py", line 333, in retry_over_time
    return fun(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/kombu/connection.py", line 261, in connect
    return self.connection
  File "/usr/local/lib/python3.5/site-packages/kombu/connection.py", line 802, in connection
    self._connection = self._establish_connection()
  File "/usr/local/lib/python3.5/site-packages/kombu/connection.py", line 757, in _establish_connection
    conn = self.transport.establish_connection()
  File "/usr/local/lib/python3.5/site-packages/kombu/transport/pyamqp.py", line 130, in establish_connection
    conn.connect()
  File "/usr/local/lib/python3.5/site-packages/amqp/connection.py", line 282, in connect
    self.transport.connect()
  File "/usr/local/lib/python3.5/site-packages/amqp/transport.py", line 109, in connect
    self._connect(self.host, self.port, self.connect_timeout)
  File "/usr/local/lib/python3.5/site-packages/amqp/transport.py", line 150, in _connect
    self.sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.5/site-packages/django/core/management/__init__.py", line 365, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.5/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.5/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 59, in execute
    return super().execute(*args, **options)
  File "/usr/local/lib/python3.5/site-packages/django/core/management/base.py", line 335, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.5/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 179, in handle
    self.UserModel._default_manager.db_manager(database).create_superuser(**user_data)
  File "/usr/local/lib/python3.5/site-packages/django/contrib/auth/models.py", line 161, in create_superuser
    return self._create_user(username, email, password, **extra_fields)
  File "/usr/local/lib/python3.5/site-packages/django/contrib/auth/models.py", line 144, in _create_user
    user.save(using=self._db)
  File "/usr/local/lib/python3.5/site-packages/django/contrib/auth/base_user.py", line 73, in save
    super().save(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py", line 729, in save
    force_update=force_update, update_fields=update_fields)
  File "/usr/local/lib/python3.5/site-packages/django/db/models/base.py", line 769, in save_base
    update_fields=update_fields, raw=raw, using=using,
  File "/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 178, in send
    for receiver in self._live_receivers(sender)
  File "/usr/local/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 178, in <listcomp>
    for receiver in self._live_receivers(sender)
  File "/app/api/models.py", line 17, in create_auth_token
    task.delay(verification_link, instance.email)
  File "/usr/local/lib/python3.5/site-packages/celery/app/task.py", line 413, in delay
    return self.apply_async(args, kwargs)
  File "/usr/local/lib/python3.5/site-packages/celery/app/task.py", line 536, in apply_async
    **options
  File "/usr/local/lib/python3.5/site-packages/celery/app/base.py", line 737, in send_task
    amqp.send_task_message(P, name, message, **options)
  File "/usr/local/lib/python3.5/site-packages/celery/app/amqp.py", line 554, in send_task_message
    **properties
  File "/usr/local/lib/python3.5/site-packages/kombu/messaging.py", line 181, in publish
    exchange_name, declare,
  File "/usr/local/lib/python3.5/site-packages/kombu/connection.py", line 494, in _ensured
    return fun(*args, **kwargs)
  File "/usr/local/lib/python3.5/site-packages/kombu/messaging.py", line 187, in _publish
    channel = self.channel
  File "/usr/local/lib/python3.5/site-packages/kombu/messaging.py", line 209, in _get_channel
    channel = self._channel = channel()
  File "/usr/local/lib/python3.5/site-packages/kombu/utils/functional.py", line 38, in __call__
    value = self.__value__ = self.__contract__()
  File "/usr/local/lib/python3.5/site-packages/kombu/messaging.py", line 224, in <lambda>
    channel = ChannelPromise(lambda: connection.default_channel)
  File "/usr/local/lib/python3.5/site-packages/kombu/connection.py", line 819, in default_channel
    self.ensure_connection()
  File "/usr/local/lib/python3.5/site-packages/kombu/connection.py", line 405, in ensure_connection
    callback)
  File "/usr/local/lib/python3.5/site-packages/kombu/utils/functional.py", line 345, in retry_over_time
    sleep(1.0)
KeyboardInterrupt

请帮忙。 谢谢

编辑: 下面是我用来设置环境的docker-compose.yml

version: "3.4"

services:
  # PostgreSQL database
  db:
    # official postgres:9 with a sql file added to init django database
    image: pg9init  
    hostname: db
    environment:
      - PGDATA=/var/lib/postgresql/data/pgdata
    ports:
       - "5432:5432"
    volumes:
      - pgdata:/var/lib/postgresql/data/pgdata
      - pgbackup:/pg_backups

  redis:
    image: redis:3
    hostname: redis

  rabbit:
    image: rabbitmq:3
    hostname: rabbit
    environment:
      - RABBITMQ_DEFAULT_USER=admin
      - RABBITMQ_DEFAULT_PASS=mypass
    ports:
      - "5672:5672"   # forward this port for debugging
      - "15672:15672" # here can access rabbitmq management plugin

  django:
    # from python:3.5 with all django requirements installed
    image: djangoenvimg  
    command: ./run_django.sh
    environment:
      - DJANGO_ENV=prod
      - DOCKER_CONTAINER=1
    volumes:
      # mount current directory inside container, to avoid the need of re-building the image every time django updates.
      - .:/app
    ports:
      - "8000:8000"
    # instruct all 5 instances of djangoserver containers to share port 8000 via a load-balanced network
    # called backend
    depends_on:
      - db
      - rabbit

  # Celery worker
  worker:
    image: djangoenvimg
    command: ./run_celery.sh
    environment:
      - DJANGO_ENV=prod
      - DOCKER_CONTAINER=1
    volumes:
      - .:/app
      - /home/xx/Android/Sdk:/Sdk:ro
    depends_on:
      - rabbit
      - redis
      - db

# Creates the volume for postgresql database to preserve data during multiple container sessions
volumes:
  pgdata:
  pgbackup:

0 个答案:

没有答案