早些时候我有一个problem使用我的 pyodbc 模块,它没有在 apache 服务器上运行我的应用程序,而是在我的 Windows 机器上运行。我发现使用 this hint 解决了让 django 项目在 apache 上运行的问题.
但现在我面临着一些不同的问题。 django 应用程序在 apache 上运行,但在页面上抛出此错误。
ImproperlyConfigured at /auth/login/
settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
需要明确的是,当通过 djangos 内置服务器部署时,该项目可以完美运行。 这就是我的数据库连接在 settings.py 中的样子
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'myDbName',
'USER': 'myusername',
'PASSWORD': '',
'HOST': '',
'OPTIONS' : {
'driver': 'SQL Native Client',
'dsn': 'test',
'MARS_Connection': True,
},
},
}
更新:
我根据Django MSSQL Documentation更新了我的代码,遇到了一些问题,并通过更新我的 pywin32 让它工作这再次适用于 djangos 内置服务器,而不是 APACHE 给我相同的 ImproperlyConfigured 错误
DATABASES = {
'default': {
'NAME': 'myDbName',
'ENGINE': 'sqlserver_ado',
'HOST': 'MYHOST',
'USER': 'myusername',
'PASSWORD': 'mypassword',
'OPTIONS' : {
'provider': 'SQLNCLI11',
'use_mars': False,
},
}
}
我的系统 - Windows 7、Apache 2.2、python 2.7、django 1.4.2、pyodbc-3.0.6.win32-py2.7
对此的任何提示或技巧都非常受欢迎,我已经尝试让这个项目启动并运行相当长一段时间了。
非常感谢
最佳答案
如果您使用内置后端,则应指定数据库引擎,如下所示:
'ENGINE':'django.db.backends.mysql'
如果您不使用内置后端,则应在 ENGINE
设置中指定完全限定路径(即 mypackage.backends.whatever
)。 django documentation here 中给出的有关定义数据库后端的信息.
更新:
您可以尝试使用django-mssql用于将 sql-server 与 django 一起使用,并且提供清晰的文档 here in readthedocs .
关于python - Django Sql Server 配置不正确 - settings.DATABASES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13797969/