![](/img/trans.png)
[英]psycopg2.OperationalError: fe_sendauth: no password supplied
[英]Django psycopg2.OperationalError: fe_sendauth error but not connecting to postgresql database
我在myapp / settings.py文件中使用以下sqlite连接:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':testdb:',
#I also tried 'NAME': 'testdb',
},
}
在我的manage.py文件中,我正在使用:
if __name__ == "__main__":
os.environ.setdefault("myapp.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
在命令行上运行./manage.py迁移时,出现以下错误:
django.db.utils.OperationalError: fe_sendauth: no password supplied
我尝试删除psycopg2并重新运行迁移,并得到以下错误:
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2'
我不知道为什么django试图连接到psql数据库,其中应用程序中唯一的DATABSES配置是针对sqlite3的。
这可能是由于依赖关系造成的吗?
尝试这个,
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
这可能对您有帮助。
Django仅使用DATABASES
设置来使用特定的数据库驱动程序生成迁移。 我相信某个地方有一个导入将覆盖您的DATABASES
设置。 这些是按优先级顺序查找调试的可能位置。
DATABASES
变量后,任何导入settings.py
文件的操作都可能会覆盖它。 INSTALLED_APPS
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.