Python 有没有办法在django settings.py中导入模型?

Python 有没有办法在django settings.py中导入模型?,python,django,django-rest-framework,ldap,django-auth-ldap,Python,Django,Django Rest Framework,Ldap,Django Auth Ldap,我正在使用Django auth LDAP进行身份验证,现在我想获取如下字段的数据: 身份验证LDAP绑定DN、身份验证LDAP绑定密码、身份验证LDAP服务器URI 从数据库,但我得到一个错误 设置.py 导入子流程 从django.apps导入应用程序 从django.core.exceptions导入ObjectDoesNotExist ldap=False Config=apps.get_model('Config','Config')) Config=Config() 尝试: ldap

我正在使用Django auth LDAP进行身份验证,现在我想获取如下字段的数据:

身份验证LDAP绑定DN、身份验证LDAP绑定密码、身份验证LDAP服务器URI

从数据库,但我得到一个错误

设置.py

导入子流程
从django.apps导入应用程序
从django.core.exceptions导入ObjectDoesNotExist
ldap=False
Config=apps.get_model('Config','Config'))
Config=Config()
尝试:
ldap=Config.objects.get(name=“ldap”)
除ObjectDoesNotExist外:
通过
如果选择ldap并检查_ldap_connection():
导入ldap
从django_auth_ldap.config导入LDAPSearch
AUTH\u LDAP\u SERVER\u URI=Config.objects.get(name=“LDAP\u SERVER\u URI”)
AUTH\u LDAP\u BIND\u DN=Config.objects.get(name=“LDAP\u BIND\u DN”)
AUTH\u LDAP\u BIND\u PASSWORD=Config.objects.get(name=“LDAP\u BIND\u PASSWORD”)
ldap\u search=Config.objects.get(name=“ldap\u search”)
验证\u LDAP\u用户\u搜索=LDAPSearch(
ldap_搜索,ldap.SCOPE_子树,“(uid=%(用户)s)”
)
def check_ldap_connection():
尝试:
ldap\u server\u uri=Config.objects.get(name=“ldap\u server\u uri”)
ldap\u bind\u dn=Config.objects.get(name=“ldap\u bind\u dn”)
ldap\u search=Config.objects.get(name=“ldap\u search”)
ldap\u bind\u password=Config.objects.get(name=“ldap\u bind\u password”)
除ObjectDoesNotExist外:
返回错误
cmd=“ldapsearch-H\”+ldap\u服务器\u uri+“\”-D\”+ldap\u绑定\u dn+“\”-w\”+ldap\u绑定\u密码\
+“\”-b\”+ldap\U搜索+“\”\124“+“grep结果”
尝试:
connection=“”
connection=subprocess.check_输出(cmd,shell=True).decode()
例外情况除外,如e:
返回错误
connection=connection.split()
如果连接中出现“0”和“成功”:
返回真值
返回错误
错误:

raise AppRegistryNotReady(“尚未加载模型”) django.core.exceptions.AppRegistryNotReady:尚未加载模型


不要在settings.py中这样做,在init.py或中间件中这样做,或者在其他文件中调用函数,但不要在settings.py中这样做!要消除错误,您需要编写
django.setup()
,但正如我所说。不要在middleware或init.py中写入这些数据?如果你想在DB中存储这些数据,那么你可以查看@ruddra嘿,我尝试了constance数据库,但它仍然显示应用程序尚未加载。错误不要在你的settings.py中这样做,在init.py或中间件中编写,或在其他文件中调用函数,但不要在settings.py中编写这种逻辑!要消除错误,您需要编写
django.setup()
,但正如我所说。不要在中间件或init.py中写入这些数据?如果你想在DB中存储这些数据,那么你可以查看@ruddra嘿,我尝试了constance数据库,但它仍然显示应用程序尚未加载