在我的Django + Postgresql设置中加载页面时偶尔会出现此错误但不是所有时间:
psycopg2/__init__.py ? in connect
raise TypeError('missing dsn and no parameters')
else:
dsn = " ".join(["%s=%s" % (k, _param_escape(str(v)))
for (k, v) in items])
conn = _connect(dsn, connection_factory=connection_factory, async=async)
if cursor_factory is not None:
conn.cursor_factory = cursor_factory
return conn
我完全不知道造成这种情况的原因。
我的production.py设置文件:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'mydbname', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
答案 0 :(得分:-1)
http://initd.org/psycopg/docs/connection.html#connection.protocol_version
您没有提供您正在使用的postgres版本 似乎它早于7.4。 在这种情况下,解决方案将是升级postgres版本(或安装较旧版本的psycopg,但我认为这不好)