解决方案:
在终端中(如果尚未安装)
pip3 install django-pyodbc-azure
pip3 install django-azure-sql-backend
在Azure门户中,您必须检查tenant_id和client_id是什么。由于您是从 pyodbc 连接的,我假设您有这些。空端口表示默认
在设置.py中:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'your_database',
'HOST': 'yourserver.database.example.net',
'PORT': '',
'AAD-AUTH': {
'tenant_id': 'tenant_id',
'client_id': 'client_id',
'secret': "SECRET_KEY",
},
'OPTIONS': {
'driver': 'ODBC Driver 17 for SQL Server',
},
},
}
如果你想关闭 pyodbc 的连接池,请将其设置为 False
DATABASE_CONNECTION_POOLING = False
如果 ODBC 驱动程序 17 失败,请尝试:
'driver': 'ODBC Driver 13 for SQL Server'
如果您没有 SECRET_KEY,您可以在应用注册时获取它。 (是的,要获得密钥,您必须将其制作为应用程序)
- 登录到 Azure 门户。
- 在顶部搜索栏中,键入“Azure Active Directory”并单击 Active Directory,或单击左侧的“更多服务”,然后选择 Azure Active Directory
- 单击应用程序注册,然后单击“新应用程序注册”
- 提供应用程序的名称和 URL。
- 从 Azure Active Directory 中的应用程序注册中,选择您的应用程序。
- 复制应用程序 ID
- 单击同一窗口上的“设置”。
- 要生成身份验证密钥,请单击“密钥”。
- 更新密钥的描述、持续时间和密码值,然后选择“保存”。
让我们知道进展如何????