我是python中的新手。我需要从另一个目录中的另一个文件访问python文件。特别是我希望能够在名为settings.py:
的文件中看到这些数据库详细信息DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dynamic',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '192.168.10.130',
}
}
如何从另一个文件夹中的另一个文件中将此词典作为数据库访问?
我试过这样做(在我的其他项目中有效):
from django.conf import settings
dbHost = settings.DATABASES['default']['HOST']
dbUsername = settings.DATABASES['default']['USER']
dbPassword = settings.DATABASES['default']['PASSWORD']
dbName = settings.DATABASES['default']['NAME']
请帮帮我。提前谢谢。
答案 0 :(得分:3)
如果您想在 projectB 中使用projectA.settings.DATABASES
,则应在 projectB 中添加 projectA 路径:
<强>项目B 强> /myfile.py:
import sys
sys.path.append( "/path/to/projectA" )
from projectA import settings
dbHost = settings.DATABASES['default']['HOST']
dbUsername = settings.DATABASES['default']['USER']
dbPassword = settings.DATABASES['default']['PASSWORD']
dbName = settings.DATABASES['default']['NAME']
答案 1 :(得分:1)
您可以使用dj-database-url轻松地从环境变量加载数据库设置,而不是在python中对您的凭据进行硬编码。
另一种选择是使用<body ng-controller="mainController">
和一个小的json文件。
答案 2 :(得分:1)
在项目2的settings.py中,您可以将project1设置文件导入为:
import project1.settings
然后将DATABASES初始化为:
DATABASES = { 'default': project1.settings.DATABASES['default'] }
答案 3 :(得分:1)
from django.conf import settings
settings.DATABASES
{'default':
{'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 3600,
'ENGINE': 'django.db.backends.mysql',
'HOST': '127.0.0.1',
'NAME': 'proj',
'OPTIONS': {'charset': 'utf8', 'sql_mode': 'traditional'},
'PASSWORD': 'password',
'PORT': '20306',
'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None},
'TIME_ZONE': None,
'USER': 'root'}
}