1

我正在尝试在 Heroku 上创建一个 Django 应用程序,如 Heroku/Django Cedar 堆栈教程中所述。

我已经到了在 Heroku 上部署我的代码的地步,但是当我运行时heroku run python appname/manage.py syncdb,我得到以下跟踪:

Traceback (most recent call last):


File "planamo/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
    output = self.handle(*args, **options)
  File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle
    return self.handle_noargs(**options)
  File "/app/.heroku/venv/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
    cursor = connection.cursor()
  File "/app/.heroku/venv/lib/python2.7/site-packages/django/db/backends/__init__.py", line 308, in cursor
    cursor = util.CursorWrapper(self._cursor(), self)
  File "/app/.heroku/venv/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 177, in _cursor
    self.connection = Database.connect(**conn_params)
  File "/app/.heroku/venv/lib/python2.7/site-packages/psycopg2/__init__.py", line 179, in connect
    connection_factory=connection_factory, async=async)
psycopg2.OperationalError: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

我不知道问题是什么。这是怎么回事?

4

3 回答 3

3

回答了我自己的问题:你必须跑heroku addons:add shared-database

于 2012-04-30T20:19:50.130 回答
2

我刚刚找到了导致此错误的另一个原因。Heroku 在 settings.py 文件的末尾注入代码。

如果 settings.py 的最后一行不包含进位返回注入代码可能会被忽略

这是django-social-auth 的 settings.py 文件的情况

于 2012-05-21T08:23:51.557 回答
0

您可以尝试在 settings.py 的数据库配置中添加:'HOST': '127.0.0.1'

于 2012-04-30T11:05:51.547 回答